`
阿尔萨斯
  • 浏览: 4173443 次
社区版块
存档分类
最新评论

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

 
阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
面对华丽的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 SystemParametersInfoSystemParametersInfoW
#else
#define SystemParametersInfoSystemParametersInfoA
#endif // !UNICODE
uiAction是作不同的操作参数。
uiParam是设置的参数。
pvParam是设置或返回的参数。
fWinIni是设置的参数。
调用函数的例子如下:
#001//
#002//获取系统配置信息。
#003//蔡军生2007/11/16 QQ:9073204 深圳
#004void 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 intnBufSize = 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}



分享到:
评论

相关推荐

    精选_使用SystemParametersInfo函数实现更改计算机桌面背景图片_源码打包

    使用SystemParametersInfo函数实现更改计算机桌面背景图片

    API之网络函数---整理网络函数及功能

    CreateScalableFontResource 为一种TureType字体创建一个资源文件,以便能用API函数AddFontResource将其加入Windows系统 DrawText 将文本描绘到指定的矩形中 DrawTextEx 与DrawText相似,只是加入了更多的功能 ...

    用C#和VC实现用API换桌面

    用C#和VC实现用API换桌面 使用 API函数 SystemParametersInfo参数用SPI_SETDESKWALLPAPER SPI_SETDESKWALLPAPER:设置桌面壁纸。pvParam参数必须指向一个包含位图文件名,并且以NULL

    SystemParametersInfo_with_Delphi2010.rar

    SystemParametersInfo_with_Delphi2010.rar

    API取任务栏、屏幕用户区高度等

    编辑框1.内容 = “屏幕用户区宽度:” + 到文本 (矩形.C) + #换行符 + “屏幕用户区高度:” + 到文本 (矩形.D) + #换行符 + #换行符 + “任务栏高度:” + 到文本 (取屏幕高度 () - 矩形.D) + #换行符 ...

    易语言API屏幕应用

    易语言API屏幕应用源码,API屏幕应用,SystemParametersInfo不传址整数型,SystemParametersInfo不传址,SystemParametersInfo,GetSystemMetrics

    API取任务栏屏幕用户区高度等

    SystemParametersInfo_

    VB编程技巧集(中)--站长推荐

    你可以调用SystemParametersInfo API 函数实现这个功能,细节如下: Const SPI_SCREENSAVERRUNNING=97 Private Declare Function SystemParametersInfo Lib "User32" Alias "SystemParametersInfoA"(ByVal uAction ...

    易语言API取任务栏屏幕用户区高度等

    易语言API取任务栏屏幕用户区高度等源码,SystemParametersInfo_

    易语言WIN32API功能150个(屏幕篇)

    易语言WIN32API功能150个(屏幕篇)源码,WIN32API功能150个(屏幕篇),SystemParametersInfo不传址整数型,SystemParametersInfo不传址,SystemParametersInfo,GetSystemMetrics

    QT windows 动态壁纸

    QT windows 动态壁纸 使用技术:IActiveDesktopcom组件/SystemParametersInfo

    【VB】VB通用开发金典(完整版)学VB的必备资料,实例,源码。

    第1章 用户界面 1.1 窗体 范例1-1 创建箭头形窗体 ∷相关函数:CreatePolygonRgncSetWindowRgn 范例1-2 窗体闪烁特效 ...第14章 特殊API函数 第15章 OLE与ActiveX文档 第16章 报表与打印 第17章 其他应用

    最全的WinAPI手册

    第一章 Win32 API概论 14 为什么使用 Wiu32 API 14 Win32 API 简介 15 第二章 窗口管理函数 16 第一节 易用特性函数(Accessibility Features) 20 SoundSentryProc 20 SystemParametersinfo 21 第二节 按钮函数...

    易语言-WIN32API功能150个(鼠标篇)

    WIN32API功能150个(鼠标篇) 调用的dll: .版本 2 .DLL命令 SystemParametersInfo不传址, 整数型, "User32.dll", "SystemParametersInfoA", , 允许获取和设置数量众多的windows系统参数 .参数 uAction, 整数型 .参数 ...

    易语言平铺窗口实例

    易语言平铺窗口实例源码,平铺窗口实例,窗口平铺,GetClassName,API_SetWindowPos,API_寻找子窗口,API_取屏幕句柄,API_取窗口标题,API_SystemParametersInfo,API_判断窗口最小化,API_判断窗口最大化,API_ShowWindow

    MO+VC 开发总结

    3, 添加SystemParametersInfo()函数,用于解决MO控件随窗口一起变化大小并不停重画窗口带来的闪烁问题。 BOOL CWanzhengApp::InitInstance() { SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,false,NULL,0); m...

    Delphi 7.0 彻底更换桌面壁纸及剪贴板监控程序范例.rar

     定义函数实现壁纸的注册表修改:  procedure TForm1.Button2Click(Sender: TObject);  Var  Reg:Tregistry; //Tregistry 对象在Registry 单元中声明,需用Uses令引用Registry单元  Begin  Reg:=Tregistry....

    易语言任务管理器屏蔽映像名称

    易语言任务管理器屏蔽映像名称源码,任务管理器屏蔽映像名称,FindWindow,FindWindowEx,MessageBox,GetWindowThreadProcessId,OpenProcess,VirtualAllocEx,SendMessage,WriteProcessMemory,LVITEM_WriteProcessMemory,...

Global site tag (gtag.js) - Google Analytics