【问题标题】:How can I call GetProcessHandleFromHwnd in Delphi 7?如何在 Delphi 7 中调用 GetProcessHandleFromHwnd?
【发布时间】:2020-04-30 18:51:32
【问题描述】:

如何在 Delphi 7 中调用 GetProcessHandleFromHwnd?

显然它是 XP 引入的 Windows API 函数。

http://msdn.microsoft.com/en-us/library/windows/desktop/dd318087(v=vs.85).aspx

【问题讨论】:

  • 就像任何其他函数一样;)导入是here
  • 太好了,谢谢我去试试
  • 对 oleacc.pas 进行网络搜索

标签: delphi winapi


【解决方案1】:

不能直接调用函数。不过可以参考一下:

// reference to the Windows function:
function GetProcessHandleFromHwnd(hwnd: HWND): THandle; external 'oleacc.dll' name 'GetProcessHandleFromHwnd'; stdcall;

// and you can call it from your own function:
function TryGetProcessHandle(const WindowHandle: THandle; var ProcessHandle: THandle): Boolean;
begin
  ProcessHandle := GetProcessHandleFromHwnd(WindowHandle);
  Result := (ProcessHandle <> 0);
end;

【讨论】:

  • GetProcessHandleFromHwnd 应该是stdcall 为什么不能直接调用呢?
  • 我认为你不能直接在 Delphi 中调用 GetProcessHandleFromHwnd。该函数在 Oleacc.dll 中,请参阅docs.microsoft.com/en-us/windows/win32/winauto/… - 所以我包含了 WinApi.Oleacc,但该单元中没有引用该函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 2010-09-15
  • 2010-11-07
相关资源
最近更新 更多