Показать сообщение отдельно
  #11  
Старый 28.12.2011, 12:37
serebrus serebrus вне форума
Прохожий
 
Регистрация: 22.12.2011
Сообщения: 26
Репутация: 10
По умолчанию

Bargest, удалось определить нужное окно при нажатии правой кнопки мыши. Осталось блокировать контекст меню...Поискал, прочитал много стаей, в одном из них написали что достигли это с помощью EndMenu.
Но увы и это мне не помогло.
Вот библиотека:

PHP код:
library hackpass;

uses
  Windows
,
  
Messages,
  
ShellAPI;

var
 
SysHook: HHook = 0;
 
Wnd: Hwnd = 0;

function 
SysMsgProc(code: integer; wParam: word; lParam: longint): longint; stdcall;
var 
buff : array[0.. 127] of Char;
    
ts: String;
begin
if code = HC_ACTION then
 begin
  
if TMsg(Pointer (lParam)^).message = WM_RBUTTONDOWN then
   begin
    Wnd 
:= TMsg(Pointer(lParam)^).hwnd;
    
GetClassName(Wnd, buff, sizeof(buff));
    
ts:=buff;
    if 
ts='ИМЯ КЛАССА НУЖНОГО ОКНА (ИЗВЕСТНО)' then
     begin
      MessageBox
(0,'Success','',MB_OK);
      
EndMenu;
     
end;
   
end else
    
Result:=CallNextHookEx(SysHook, Code, wParam, lParam);
 
end;
end;

procedure RunStopHook(State: Boolean) export; stdcall;
begin
if State=true then
 begin
  SysHook 
:= SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc, HInstance, 0);
 
end else
 
begin
  UnhookWindowsHookEx
(SysHook) ;
  
SysHook := 0;
 
end;
end;

exports RunStopHook index 1;
begin
end
. 

Что посоветуете?
Ответить с цитированием