|
Реакция на горячие клавиши главного окна неуправляемого приложения
|
|||
---|---|---|---|
#18+
Доброго времени суток. Windows 7; C# 3.5 SP1; MS Visual Studio 2012; Пишу управляемый плагин для некоторого неуправляемого приложения, написанного на C++. Главное окно этого приложения представлено для неуправляемого кода такой обёрткой: Код: c# 1.
Требуется в моём плагине отлавливать нажатия различных горячих клавиш, нажатых в главном окне. Как это сделать? Первым делом, поскольку WinForms - это всего лишь управляемая обёртка над частью WinAPI, отвечающей за графику, я попытался получить главное окно по его хэндлу так: Код: c# 1.
Однако _control в качестве значения получает null. Как правильно решать поставленную задачу? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 11:08 |
|
Реакция на горячие клавиши главного окна неуправляемого приложения
|
|||
---|---|---|---|
#18+
По теме нашёл это . Насколько я понял, решить поставленную задачу простым способом не получится - нужно прибегать к помощи некоторых сторонних библиотек, судя по ответу, указанному в ссылке. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 11:19 |
|
Реакция на горячие клавиши главного окна неуправляемого приложения
|
|||
---|---|---|---|
#18+
Compositum, попробуйте зацепить оконную ф-цию (обязательно нужен FParentHWND) var SaveProc:Pointer; SaveProc:=Pointer(SetWindowLong(FParentHWND,GWL_WNDPROC,cardinal(@WinProc))); //при инициализации dll запоминаем function WinProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; begin if Msg=WM_SIZE or Msg=WM_Key then begin // наша обработка end; WinProc:=CallWindowProc(SaveProc,hwnd,msg,wparam,lparam);//возвращаем управление end; // код на Delphi ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 13:21 |
|
|
start [/forum/topic.php?fid=20&msg=38152430&tid=1405163]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 151ms |
0 / 0 |