如何在WIN2000下,某一窗口或进程的程序的路径?(50分)

  • 主题发起人 主题发起人 samuelzhu
  • 开始时间 开始时间
What is the mean?
 
如何在WIN2000下,获取某一窗口或进程的程序的路径?
 
模仿98里用TLhelp32 取得当前进程列表。<br><br>这样就可以得到其路径了<br><br>《delphi5开发人员指南》里有
 
试一下这个函数:<br>function HWndToFileName(Handle: HWnd): string;<br>var<br>&nbsp; hInstance: THandle;<br>&nbsp; nSize: Cardinal;<br>&nbsp; Buff: array[0..MAX_PATH - 1] of Char;<br><br>begin<br>&nbsp; Result := '';<br>&nbsp; hInstance := GetWindowLong(Handle, GWL_HINSTANCE);<br>&nbsp; if hInstance &lt;&gt; 0 then<br>&nbsp; begin<br>&nbsp; &nbsp; nSize := MAX_PATH;<br>&nbsp; &nbsp; nSize := GetModuleFileName(hInstance, @Buff, nSize);<br>&nbsp; &nbsp; if nSize &lt;&gt; 0 then<br>&nbsp; &nbsp; &nbsp; SetString(Result, Buff, nSize);<br>&nbsp; end; <br>end;
 
得到名字和句柄可以,但路径好像不简单吧?关注
 
同意andriy,先用findwindow找到要找的application的hwnd,再用GetWindowLong加GWL_HINSTANCE参数<br>找到application instance的handle,最后用GetModuleFileName找到filename(包含路径)就OK了
 
试了一下有问题,
 
在98下用可得path,在2000下用不行
 
后退
顶部