您的位置:首页 > 其它

Windows API一日一练(75)SystemParametersInfo函数

2008-04-04 16:35 483 查看
面对华丽的Windows桌面,工作的心情或许好很多,但是久了总会失去兴趣,总想定期地更新桌面的图片。软件开发人员又面对这样的需求了,需要怎么样去做呢?努力去找API函数吧。到目前为止,还有很多变桌面图片的软件,并且还能很挣钱的。其实设置桌面图片的需求,在目前数码相片处理软件也有现实的需求,比如当你去旅游回来后,想把照片当作桌面图片,就可以在处理图片时就设置为桌面图片。这样就需要使用函数SystemParametersInfo来完成这项工作了,当然这个函数还有很多其它功能,比如获取桌面工作区的大小。 函数SystemParametersInfo声明如下:WINUSERAPIBOOLWINAPISystemParametersInfoA(    __in UINT uiAction,    __in UINT uiParam,    __inout_opt PVOID pvParam,    __in UINT fWinIni);WINUSERAPIBOOLWINAPISystemParametersInfoW(    __in UINT uiAction,    __in UINT uiParam,    __inout_opt PVOID pvParam,    __in UINT fWinIni);#ifdef UNICODE#define SystemParametersInfo SystemParametersInfoW#else#define SystemParametersInfo SystemParametersInfoA#endif // !UNICODE uiAction是作不同的操作参数。uiParam是设置的参数。pvParam是设置或返回的参数。fWinIni是设置的参数。 调用函数的例子如下:#001 //#002  //获取系统配置信息。#003  //蔡军生 2007/11/16 QQ:9073204 深圳#004  void GetSystemParam(void)#005  {#006         //获取桌面墙纸的路径。#007         //SPI_GETDESKWALLPAPER#008         TCHAR chPath[MAX_PATH];#009        if (SystemParametersInfo(SPI_GETDESKWALLPAPER,MAX_PATH,chPath,0))#010         {#011               //#012               OutputDebugString(chPath);#013               OutputDebugString(_T("/r/n"));#014         }#015 #016         //获取工作区的大小。#017         //SPI_GETWORKAREA#018         RECT rcWorkArea;#019        if (SystemParametersInfo(SPI_GETWORKAREA,0,&rcWorkArea,0))#020         {#021               //#022               const int nBufSize = 256;#023               TCHAR chBuf[nBufSize];#024 #025               wsprintf(chBuf,_T("%u,%u,%u,%u"),rcWorkArea.left,rcWorkArea.top,#026                    rcWorkArea.right,rcWorkArea.bottom);#027               #028               OutputDebugString(chBuf);#029               OutputDebugString(_T("/r/n"));#030         }#031 #032  }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: