对一个程序员来说,在编程过程中经常遇到的问题不是目标如何实现,而是如何找到实现这种目标的最好方法。这里,作者根据多年的编程经验,整理了20条常见问题的实现技巧,希望能够起到抛砖引玉的作用。
因为,我们相信,您的实现方法会比我们介绍的更简单。
1.如何激活当前屏幕保护程序
// 激活当前屏幕保护程序, jingzhou xu
PostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0);
2.如何禁止/启用屏幕保护及电源管理
static UINT dss_GetList[] = {SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT,
SPI_GETSCREENSAVETIMEOUT};
static UINT dss_SetList[] = {SPI_SETLOWPOWERTIMEOUT, SPI_SETPOWEROFFTIMEOUT,
SPI_SETSCREENSAVETIMEOUT};
static const int dss_ListCount = _countof(dss_GetList);
{
m_pValue = new int[dss_ListCount];
for (int x=0;x
// 禁止屏幕保护及电源管理
VERIFY(SystemParametersInfo (dss_SetList[x], 0, NULL, 0));
}
delete[] m_pValue;
}
{
m_pValue = new int[dss_ListCount];
for (int x=0;x
//启用屏幕保护及电源管理
VERIFY(SystemParametersInfo (dss_SetList[x], m_pValue[x], NULL, 0));
}
delete[] m_pValue;
}
3.如何激活和关闭IE浏览器
//激活并打开IE
void lounchIE()
{
HWND h=FindWindowEx(NULL,NULL,NULL,"Microsoft Inte.net Explorer") ;
ShellExecute(h,"open","C:\simple.html",NULL,NULL,SW_SHOWNORMAL);
}
//关闭IE及其它应用
void CloseIE()
{
int app=BSM_APPLICATIONS;
unsigned long bsm_app=(unsigned long )app;
BroadcastSystemMessage(BSF_POSTMESSAGE,&bsm_app,WM_CLOSE,NULL,NULL);
}