提供一个系统空闲时间函数(ms),你可以用timer控件定时监测,如果系统空闲时间超过指定时间则做你想做的事:(系统空闲-指系统无任何操作,包括键盘和鼠标) function LastInput:dword; var LInput: TLastInputInfo; begin LInput.cbsize := sizeof(TLastInputInfo); GetLastInputInfo(LInput); result := GetTickCount - LInput.dwtime; end;