在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.