C++ Q&A 专栏...
原著:Paul DiLascia
翻译:lowiq
原文出处:MSDN Magazine December 2001(C++ Q&A)
原代码下载:CQA0112.exe (52KB)
停止屏幕保护 侦测屏幕的分辨率 增加状态栏按钮 我正在写一个紧急情况警报程序,根据所收到的警报消息,我的程序必须能够停止屏幕保护程序或者节能模式并显示显示报警消息,当然也可以 在屏幕保护程序之上显示报警消息。我尝试了用 SetWindowPos(&wndTopMost...),结果不灵,在 Windows 2000 的屏保中也没有成功。我的程序要在 Windows 2000 里运行,请问如何在特定的事件发生时终止屏幕保护? Jungkun PostMessage(GetActiveWindow(),WM_CLOSE,0,0);
是不是看来很简单?但在Windows 2000下,这个方法不再有效。Windows 2000 中
有关细节参见 Figure 1。
我用 C++ 如何侦测屏幕的分辨率是 640X480 还是 600X800 ?
Amir Dashti
Tehran 只需简单地调用 GetSystemMetrics:// width int cx = GetSystemMetrics(SM_CXSCREEN); // height int cy = GetSystemMetrics(SM_CYSCREEN);
GetSyStemMetrics 是一个很容易使用的函数,它可以用来获得各种类型的全局尺寸,象一个图标的大小或是窗口标题栏的高度。在Windows 2000中 ,有些像 SM_CXVIRTUALSCREEN 和 SM_CYVIRTUALSCREEN 这样的新参数,可以用了获得多监视器系统屏幕虚拟尺寸。无论作为一个 Windows 新丁还是一个老鸟,都应该仔细察看 GetSystemMetrics 的文档,学习所有你能获得不同的系统参数尺寸。详见最新的 Platform SDK 中的 GetSystemMetrics。 这个函数是你经常要用的一个函数,每一版的 Windows 中都有新的变化。
Guru India
Jef Pavlat
至于决定使用那种方法取决于你的设计