Как я могу получить дескриптор активного окна приложения внутри функции DLL?

Внутри функции DLL мне нужен дескриптор для активного окна приложения. Такой же GetActiveWindow() вызываемая из DLL функция не всегда возвращает правильный дескриптор. Иногда да, иногда нет - дескриптор = 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.

0 ответов

Другие вопросы по тегам