怎么获得程序的运行副本的个数?(50分)

  • 主题发起人 主题发起人 gondsoft
  • 开始时间 开始时间
G

gondsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
一个程序运行了多次,怎么才能检测到这个程序打开了多少个呢?请列出代码,谢谢了!
 
使用CreateToolhelp32Snapshot获得程序的信息以及可执行文件名,有了文件全名,就好办了。
 
有文件命名的。使用findWindow也只能找是不是能实例,而不能检测到有多少实例。
 
但是使用CreateToolhelp32Snapshot能够获得当前计算机的所有程序列表,然后你逐个遍历,看是否为你需要检测的程序。<br>就可以检测多个了。
 
能否贴出部分代码?
 
列出所有进程,你看看改改就可以用了<br>uses TLHelp32;<br>procedure TForm1.Button1Click(Sender: TObject);<br>var lppe: TProcessEntry32;<br>&nbsp; &nbsp; found : boolean;<br>&nbsp; &nbsp; Hand : THandle;<br>begin<br>&nbsp; Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);<br>&nbsp; found := Process32First(Hand,lppe);<br>&nbsp; while found do<br>&nbsp; begin<br>&nbsp; &nbsp; ListBox.Items.Add(StrPas(lppe.szExeFile));//列出所有进程。<br>&nbsp; &nbsp; found := Process32Next(Hand,lppe);<br>&nbsp; end;<br>&nbsp; showmessage(inttostr(count));<br>end;
 
后退
顶部