[讨论]如何判断一个安装程序正在执行? ( 积分: 100 )

  • 主题发起人 主题发起人 wsyummy
  • 开始时间 开始时间
W

wsyummy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何判断一个程序现在正在进行安装呢?windows对安装程序和普通程序是否有判别的依据?
 
如何判断一个程序现在正在进行安装呢?windows对安装程序和普通程序是否有判别的依据?
 
如果使用Install API,则可以检查,如果是自己写的程序,则不好检查。
 
是啊,如果使用标准的安装方式,倒是可以拦截api,不知道有没有更好的办法
 
看看这个行不行,proname为任务管理器里进程的名字<br>function TActiveFormX.HasOpened(proname: String): Boolean;<br>var p : pProcessInfo;<br> &nbsp; &nbsp;ContinueLoop:BOOL;<br>var<br> &nbsp;FSnapshotHandle:THandle;<br> &nbsp;FProcessEntry32:TProcessEntry32;<br> &nbsp;Lst: TStringList;<br>begin<br> Lst := TStringList.Create;<br> FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);<br> FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);<br> ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);<br> while integer(ContinueLoop)&amp;lt;&amp;gt;0 do<br> begin<br> &nbsp; New(p);<br> &nbsp; p.ExeFile := FProcessEntry32.szExeFile;<br> &nbsp; p.ProcessID := FProcessEntry32.th32ProcessID;<br> &nbsp; Lst.Add(p.ExeFile);<br> &nbsp; ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);<br> &nbsp;end;<br> &nbsp;Result := &nbsp;Lst.IndexOf(proname) &amp;gt;= 0;<br> &nbsp;Lst.Free;<br>end;
 
TO 9278707:你这是杀进程的函数,而我的问题是如何获知该进程是安装程序?谢谢你的关注
 
允许运行的程序即可
 
接受答案了.
 
后退
顶部