用C++Builder实现桌布自动更新

用C++Builder实现桌布自动更新,第1张

用C++Builder实现桌布自动更新,第2张

在C++ Builder中,我认为实现桌布的自动更换有两个关键点。第一,既然需要“自动”,就不可避免的要用到定时器。我们可以用定时器组件来完成,很容易解决。第二个问题可能比较麻烦。我们如何设置桌布?BCB似乎没有提供零部件,所以我们必须自力更生。虽然我只是一个菜鸟,但这个问题仍然困扰不了我。它主要使用的是Windows API函数SystemParameterInfo。其语句如下:

Bool system parameter info(

uin tui Action,//要查询或设置的系统参数

UINT uiParam,//依赖于要采取的操作
PVOID pvParam,//依赖于要采取的操作
UINT fWinIni //用户配置文件更新标志
);

是一个非常重量级的函数,主要用于设置或获取系统范围内的相关参数(比如我正在介绍的“如何设置桌布”,以及系统字体、屏幕分辨率等。).其实从字面上就能大致知道它的作用。如果只是简单的调用SystemParameterInfo函数,问题会变得简单很多,但是不能只使用默认的桌布样式。所以在设置桌布之前,首先要设置好桌布的样式,比如桌布的摆放位置,是否填满桌面等。,然后调用SystemParameterInfo函数,该函数将根据注册表中的桌布样式设置来设置实际的桌布样式。

与桌布风格相关的注册表设置:(位于HKEY _当前_用户\控制面板\桌面键)


注意:
实际上上表中省略了TileWallpaper键。该设置值的优先级,即当TileWallpaper值为1时,无论其他参数的值如何,桌布都会在桌面上被填满。为了简化程序,一般设置为0,然后根据壁纸样式设置桌布样式。这是一个明智的方法。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用C++Builder实现桌布自动更新

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情