如何获得当前系统正在运行的所有程序的名字和CLASS
点击次数:66 次 发布日期:2008-11-09 08:38:32 作者:源代码网
|
源代码网推荐 var 源代码网推荐 t:array [0..254] of char; 源代码网推荐 Name:PChar; // 名字 源代码网推荐 i,j,L,hnow:integer; //// 名字的长度 源代码网推荐 pos:tpoint; 源代码网推荐 begin 源代码网推荐 setlength(intlist,254); 源代码网推荐 i:=0; 源代码网推荐 j:=0; 源代码网推荐 memo1.Lines.clear; 源代码网推荐 Memo1.Lines.Add("序号" chr(9) "句柄" chr(9) "程序"); 源代码网推荐 while i<=65536 do 源代码网推荐 begin 源代码网推荐 //if i=3000 then abort ; 源代码网推荐 edit1.text:=inttostr(i); 源代码网推荐 self.Repaint; 源代码网推荐 L:=GetWindowTextLength(i) 1; // 得到名字长度,并将长度加1 源代码网推荐 GetMem(Name,L); //为将要得到的名字分配内存 源代码网推荐 GetWindowText(i,Name,L); //得到名字 源代码网推荐 FreeMem(Name,0); // 释放分配的内存 源代码网推荐 if GetWindowText(i, @name, 255)>0 then 源代码网推荐 begin 源代码网推荐 intlist[j]:=i; 源代码网推荐 inc(j); 源代码网推荐 Memo1.Lines.Add(inttostr(Memo1.Lines.Count) chr(9) inttostr(i) chr(9) trim(strpas(@name))); 源代码网推荐 end; 源代码网推荐 GetCursorPos(pos); 源代码网推荐 hNow:=WindowFromPoint(Pos); 源代码网推荐 GetClassName(hNow,@t,255); 源代码网推荐 if string(t)="Edit" then 源代码网推荐 Memo1.Lines.Add("Edit: " inttostr(Memo1.Lines.Count) chr(9) inttostr(i) chr(9) trim(strpas(@name)));; 源代码网推荐 inc(i); 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 源代码网推荐 //以上控件名,都是标准命名的控件名,请自己定义一下即可。 源代码网推荐 源代码网供稿. |
