|
发表于 2014-9-5 15:20:33
|
显示全部楼层
查询当前已经存在的桌面。
枚举桌面的API是EnumDesktops.
BOOL EnumDesktops(
HWINSTA hwinsta, // 当前的WindowsStation句柄
DESKTOPENUMPROC lpEnumFunc, // 回调函数,由系统调用。
LPARAM lParam //传递给回调函数的参数指针
);
通常我们定义个一回调函数,定义一个全局TStringList类对象,在回调函数里将枚举到的桌面的名称增加到TStringList里。
var
sttopList : TStringList;
function EnumDesktopProc(Desktop: LPTSTR; Param: LParam): Boolean; stdcall;
begin
if (Desktop<>'Winlogon') and (Desktop<>'Disconnect') then
DesktpList.Add(DeskTop);
result := True;
end;
procedure EnumerateDesktops;
begin
EnumDesktops(GetProcessWindowStation, @EnumDesktopProc, nil);
end;
通过小甲鱼老师认证http://bbs.fishc.com/forum.php?m ... 51821&mobile=no
原来的Delphi群好像解散了,新建个 大家一起学习 争取做到有问必答。
群号:138156926
加群链接:http://jq.qq.com/?_wv=1027&k=OFAZ7G |
|