我有个winAPI函数问题,非常困惑。高手请进来看看!!!!!!!!!!!!!!
我编了个函数想要从应用的窗口标题得到应用程序对应文件(包括路径)。
这里是我的两个API函数的声明:
function GetWindowThreadProcessId(var hwnd :cardinal; lpdwProcessId :cardinal):cardinal;stdcall;external 'user32.dll';
function GetModuleFileName(var hModule :Cardinal; var lpFileName :String; var nSize :cardinal):cardinal;stdcall; external 'kernel32.dll' name 'GetModuleFileNameA';
这里是我的主程序:
procedure TForm1.Button1Click(Sender: TObject);
var
FileName:str;
windowId:THandle;
proId,threadId:cardinal;
maxlen:integer;
begin
windowId :=Findwindow(nil,'Form1');
threadId :=GetWindowThreadProcessId(windowId,proId);
maxlen :=max_path;
num :=GetModuleFileName(proId,FileName,maxlen);
end;
但不知道为什么,FileName中始终都是空!很困惑??????????