我有一个由于错误情况而弹出的对话框。我希望对话框保持打开状态至少30秒,并在收到最后一次用户输入(鼠标或键盘)后关闭30秒。
我可以通过检查GetLastInputInfo返回的值并在30秒前关闭对话框来实现这一点,但如果在用户30秒没有使用鼠标或键盘时弹出对话框,GetLastInputInfo测试将立即通过,并且对话框将立即再次关闭。我可以用另一个定时器来做这件事,但我想,在对话框打开之前,模拟鼠标被稍微移动一下,或者发出一个(无害的)按键,会简单得多。据推测,它还有一个优势,那就是将系统踢出屏幕保护程序。
实现这一点的最简单的1行Delphi代码片段是什么?
3条答案
按热度按时间mitkmikd1#
最简单的是使用
keybd_event
函数(一行代码)您还可以使用
SendInput
函数,但需要多行:)hsgswve42#
使用keybd_Event输入多个字节字符:
agyaoht73#
作者:Waldemar Derr先生。
简单和多功能,选择2。
示例: