HWND
解决方案 »
- 高分寻求文件读写问题(以文件流格式,想修改或删除其中特定部分数据),其它方法可以实现其功能也可
- 怎么把Common Control添加到工具栏呢?谢谢!
- 怎样使二维数组中的元素在MEMO中显示时实现列对齐?
- delphi中如何调用VB写的Axtivex dll动态链接库
- 关于adoquery1.beforepost出现的错误
- 报表数据对齐的问题???
- 真的是巨难问题!!!如果能解决另开帖子补分!!
- 动态数字接受通讯事件中,
- 想知道怎么将StringGrid或者DBGrid中的数据导到Excel中呀?那位朋友有相关程序代码?100小分送上,不成敬意!
- 求救啊,怎么统计表中某一行元素出现次数?
- 招聘Delphi程序员(上海)
- 请教各位大虾个问题:怎么在DBGrid里根据查询到的记录某个字段值的不同显示不同的颜色?
TArrayOfInt = Array of Integer;
PArrayOfInt = ^TArrayOfInt;function GetAllRunningWindows(WndParent: HWND = 0): TArrayOfInt;
function EnumWindowsCode(Wnd: HWnd; AddrOfArray: Integer): Boolean; stdcall;
var
Len: Integer;
begin
Len := Length(PArrayOfInt(AddrOfArray)^);
SetLength(PArrayOfInt(AddrOfArray)^, Len+1);
PArrayOfInt(AddrOfArray)^[Len] := Wnd;
Result := True;
end;
begin
SetLength(Result , 0);
if WndParent = 0 then
EnumWindows(@EnumWindowsCode, Integer(@Result))
else EnumChildWindows(WndParent, @EnumWindowsCode, Integer(@Result));
end;演示:
procedure TForm1.Button1Click(Sender: TObject);
var
A: TArrayOfInt;
I: integer;
begin
A := GetAllRunningWindows(0);
for I := Low(A) to high(A) do
Memo1.Lines.Add(IntToStr(A[I]))
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————