Активация внедренной DLL в Windows - PullRequest
1 голос
/ 22 июня 2009

В настоящее время я использую SetWindowsHookEx для добавления моей DLL в другой процесс, однако он не загружается сразу. Я заметил, что если я вручную нажму на окно, оно будет загружено, так что я предполагаю, что оно ожидает какого-то типа сообщения, чтобы активировать процесс? Я в настоящее время активирую его с помощью

SetForegroundWindow(otherAppHwnd);
SetForegroundWindow(myAppHwnd);

Но это похоже на взлом и не всегда работает (то есть otherAppHwnd свернут на панель задач.

Любые указатели были бы великолепны!

Редактировать : Это крюк CBT

Ответы [ 2 ]

0 голосов
/ 28 июня 2009

Кажется, что это невозможно.

Таким образом, вместо того, чтобы обойти это, я решил просто покататься с ним и сделать так, чтобы мой дизайн смог справиться с этим.

0 голосов
/ 22 июня 2009

Я успешно использовал это:

SendMessage(otherAppHwnd, WM_NULL, 0, 0);

для достижения того, что вы хотите, но только с низкоуровневыми хуками, такими как WH_GETMESSAGE, а не с CBT Это может сработать. 8 -)

...