回 帖 发 新 帖 刷新版面

主题:知道窗口句柄怎么找这个程序的的路径呀?

在网上找的那些都不能用,只好问一下了

回复列表 (共1个回复)

沙发

function GetModuleFileNameEx(hProcess: HINST; hModule: HINST; lpFilename: PChar;
  nSize: DWORD): DWORD; stdcall;

  function GetModuleFileNameEx; external 'psapi.dll' name 'GetModuleFileNameExA';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Buffer: array[0..254] of Char;
  hWindow: HWND;
  ProcID: Cardinal;
  hProcess: Cardinal;
begin
  hWindow := FindWindow(nil, PChar('标题'));//得到窗口句柄的一句,你自己搞
  if hWindow <> 0 then begin
    GetWindowThreadProcessId(hWindow, ProcID);
    hProcess := OpenProcess(PROCESS_ALL_ACCESS, True, ProcID);
    if hProcess <> 0 then begin
      GetModuleFileNameEx(hProcess, 0, @Buffer, 255);
      ShowMessage(Buffer);
    end;
  end;
end;

我来回复

您尚未登录,请登录后再回复。点此登录或注册