SystemParametersInfo函数

面对华丽的Windows桌面,工作的心情或许好很多,但是久了总会失去兴趣,总想定期地更新桌面的图片。软件开发人员又面对这样的需求了,需要怎么样去做呢?努力去找API函数吧。到目前为止,还有很多变桌面图片的软件,并且还能很挣钱的。其实设置桌面图片的需求,在目前数码相片处理软件也有现实的需求,比如当你去旅游回来后,想把照片当作桌面图片,就可以在处理图片时就设置为桌面图片。这样就需要使用函数SystemParametersInfo来完成这项工作了,当然这个函数还有很多其它功能,比如获取桌面工作区的大小。

  函数SystemParametersInfo声明如下:

WINUSERAPI 
BOOL 
WINAPI 
SystemParametersInfoA( 
    __in UINT uiAction, 
    __in UINT uiParam, 
    __inout_opt PVOID pvParam, 
    __in UINT fWinIni); 
WINUSERAPI 
BOOL 
WINAPI 
SystemParametersInfoW( 
    __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("rn")); 
#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("rn")); 
#030         } 
#031  
#032  }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值