ShIvADeSt
Moderator | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Shura09 Тут же все просто. Цитата: hwndHandle := FindWindow(nil, 'Untitled - Notepad'); | только вместо Untitled - notepad пишешь Access - тру ля ля. Только учти, что лучше всего использовать функцию перечисления всех окон в ней находишь окно в котором есть надпись Access вот пример, его надо подправить под себя. Он просто возвращает хэндл первого окна в котором есть напись Access а ты уже для этого хэндла делаешт это. Вобщем дальше дело техники. Цитата: hMenuHandle := GetSystemMenu(hwndHandle, FALSE); if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND); end; end; | type PFindWindowStruct = ^TFindWindowStruct; TFindWindowStruct = record Caption : string; ClassName : string; WindowHandle : THandle; end; function EnumWindowsProc(hWindow:hWnd; lParam:LongInt):Bool;{$IFDEF Win32} stdcall; {$ELSE} ; export; {$ENDIF} var lpBuffer:PChar; WindowCaptionFound:bool; begin GetMem(lpBuffer,MAX_PATH+30); Result := True; WindowCaptionFound := False; try if GetWindowText(hWindow, lpBuffer, MAX_PATH+30) > 0 then if Pos(AnsiUpperCase(PFindWindowStruct(lParam).Caption),AnsiUpperCase('Access')) > 0 then WindowCaptionFound := true; if WindowCaptionFound then begin PFindWindowStruct(lParam).WindowHandle := hWindow; Result := False; end; finally FreeMem(lpBuffer, sizeof(lpBuffer^)); end; end; function FindFWindow(FCaption:string):THandle; var WindowInfo : TFindWindowStruct; begin with WindowInfo do begin Caption:=FCaption; ClassName:=''; WindowHandle:=0; EnumWindows(@EnumWindowsProc, LongInt(@WindowInfo)); FindFWindow:=WindowHandle; end; end;
---------- И создал Бог женщину... Существо получилось злобное, но забавное... |
|