avatar
Today is 星期天
2010年09月5日

搜索结果 分类目录: Windows

2008年04月27日

通过程序设置桌面图标位置(实现类似《桌面图标任我排》的功能)

由 晨笛 — 分类目录: Windows评论暂缺

桌面上的图标显示区域实际上是一个ListView,其Caption属性为:FolderView,Class属性为:SysListView32,可以通过FindWindow()得到该区域的句柄。

然后可以通过SendMessage向该区域发送LVM_SETITEMPOSITION32消息来指定桌面上某个图标的位置。

wParam中指定欲移动位置的图标ID号(系统给桌面上的每个图标都分配了唯一的ID号,一般为从0开始的整数)
lParam中指定保存欲移动到的位置坐标POINT结构的地址指针

例如要使桌面上ID为1的图标移至(200,100)位置,则
POINT pt;
pt.x=200;
pt.y=100;
SendMessage(hWnd,LVM_SETITEMPOSITION32,1,(LPARAM)&pt);

知道了定位方法,那么要让桌面上的图标排列成心形,太极等样子就只是在桌面上选取适当的坐标的数学问题了,这里我就不再讲述,个有个的方法,爱怎么做就怎么做吧。

以上方法至少在Window XP下可行,其他版本的Window应该也相差不大。

判断目标进程是否存在/运行中

由 晨笛 — 分类目录: Windows评论暂缺

使用WaitForSingleObject(handle,0)方法。如果函数返回WAIT_TIMEOUT,则说明程序已启动正在运行,否则。。。

© 2010 晨笛的博客 All rights reserved - Wallow theme by TwoBeers Crew - Powered by WordPress - 使用愉快!