0

在 DLL 函数内部,我需要处理应用程序活动窗口。从 DLL 函数调用的相同GetActiveWindow()函数并不总是返回正确的句柄。有时是,有时不是 - 句柄 = 0。我找不到规则。我怎样才能以正确的方式得到它?

编辑添加的代码示例

应用:

...
function DllFunction: Boolean; stdcall; external 'MyDLL.dll';
...
procedure Form1.Button1Click(Sender: TObject);
begin
  DllFunction();
end;
...

库 MyDLL:

...
function DllFunction: Boolean; stdcall;
var
  hActiveWindow: HWND;
...
begin
...
  // I need the window handle of app Form1 
  hActiveWindow := GetActiveWindow;
...
end;

exports
  DllFunction;

begin
end.
4

0 回答 0