我有一个 Delphi 应用程序,可以使用以下代码将计算机置于屏幕保护模式:
hWnd := GetDesktopWindow ;
SendMessage (hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0) ;
这在XP下运行良好,但我发现它在(嵌入式)Windows 7下不起作用。
有什么想法吗?
我有一个 Delphi 应用程序,可以使用以下代码将计算机置于屏幕保护模式:
hWnd := GetDesktopWindow ;
SendMessage (hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0) ;
这在XP下运行良好,但我发现它在(嵌入式)Windows 7下不起作用。
有什么想法吗?
这对我来说可行(Windows 7 Home Premium,64位)。你尝试将消息发送到另一个窗口,例如Handle
吗?(另外,您确定您已安装了屏幕保护程序吗?)
SC_SCREENSAVE消息告诉目标窗口执行System.ini文件中[boot]部分指定的屏幕保护程序。由于操作系统是嵌入式Windows,这是Windows的简化版本,很可能system.ini文件被配置为没有屏幕保护程序。请检查您的system.ini文件。
system.ini
只用作16位应用程序的兼容性遗物。在Windows中,system.ini
已经有一段时间没有真正使用了。请参阅http://en.wikipedia.org/wiki/SYSTEM.INI。 - Andreas Rejbrand