如何得到系统中正在运行的进名(win95/98/nt)?(100分)

  • 主题发起人 主题发起人 mga
  • 开始时间 开始时间
M

mga

Unregistered / Unconfirmed
GUEST, unregistred user!
as the title.
 
什么是--进名? (进程名称?)
 
得到当前进程句柄及ID:
GetCurrentProcess()
GetCurrentProcessID()

得到当前线程句柄及ID:
GetCurrentTread()
GetCurrentTreadID()
 
请创建一个工程,加上一个Buuton和一个ListBox1控件,试试下面这段程序:

procedure TForm1.Button1Click(Sender: TObject);
var
hCurrentWindow: HWnd;
szText: array[0..254] of char;
begin
hCurrentWindow := GetWindow(Handle, GW_HWNDFIRST);
While hCurrentWindow <> 0 Do
Begin
If GetWindowText(hCurrentWindow, @szText, 255) > 0 Then
ListBox1.Items.add(Strpas(@szText));
hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
End;
end;
 
如果是要得到局域网中其他机器中的进程名呢?
 
要得到其它机器上的进程名,若没有类似BO这样的程序在该机器上运行,

你是得不到的。
 
当然是在客户机上运行一个进程用来监视啦
 
推荐一套控件:PerfUtils
它不仅可以取得当前该机器上的所有进程,还可以监视每个进程
占用CPU/MEM的量,甚至可以监视网络流量/磁盘读写量等等,只
要系统中可以监视的量(用资源管理器可以监视的)它都可以监视.
不知道95下能不能用.
 
接受答案了.
 
后退
顶部