精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..图形图像处理..〓〓>>技巧:如何改变桌面图案(不是墙纸)

主题:技巧:如何改变桌面图案(不是墙纸)
发信人: fishy()
整理人: cobe(2001-07-26 13:41:01), 站内信件
改变墙纸的方法已经有很多介绍了,但改变图案的方法你知道吗?
桌面图案就是在显示器属性里放在墙纸旁边的,用来填充墙纸周围空间的图案。

这其实是一个8*8的矩阵,每一个格子有两个值:0和1。0表示桌面颜色,
1表示黑色。比如:
01111111
01000001
01000001
01000001
01000001
01000001
01111111
00000000
就是一个右上角的7*7的方框。
那么,如何转换呢?
首先要把这个图案每一行当作2进制数,并且换算成10进制:
127
65
65
65
65
65
127
0
然后把其变成字符串:

S="127 65 65 65 65 65 127 0"

最后就用SystemParametersInfo函数(声明自己看API查看器):

SystemParametersInfo SPI_SETDESKPATTERN,0,S,SPIF_UPDATEINIFILE Or SPIF
_SENDWININICHANGE

但是这样在WindowsNT下不能使用,原因:注册表项不同
其实这个函数只是更改了注册表项:
HKEY_CURRENT_USER\Control Panel\Desktop
下的“类型”值,但是,NT中需要改“Pattern”值。所以,在NT中,应该手动将

HKEY_CURRENT_USER\Control Panel\Desktop\Pattern的值改为那个字符串就可以
了。

--
Dim fishy As Friend
回复时请打勾
------------
欢迎大家访问酷码工作室:http://comma.my163.net

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.37.23]

[关闭][返回]