Просмотр полной версии : Ищу исходники NoFRAME
Когдато тут была темка NoFRAME Lineage II (Окно без рамки) был скомпилированый код и исходники, сегодня пытался найти тему но так и не нашел если кто знает где искать поделитесь.
Добавлено через 2 часа 45 минут
не падать, пока)
WindowsAPI:
var
hWnd:Thandle;
wStyle:Integer;
begin
//ищем окошка
hWnd:=FindWindow(nil,'Lineage II');
//читаем параметр окошка
wStyle:=GetWindowLong(hWnd,GWL_STYLE);
//меняим параметр акошка что бы был без рамке и не изменял размеры
wStyle:=wStyle xor WS_BORDER xor WS_SIZEBOX;
//устанавливаем параметр акошка
SetWindowLong(hWnd,GWL_STYLE,wStyle);
end;
Почти то что нужно ;)
Заставь иго перерисоватсо, и установи координаты верхнего леваго угла в кудатебе нужно, и вот оно - счастье.
хм попробую вечерком) но там вроде были какието проблеммы, не так все просто было.
вероятно....
GetWindowLong надо звать из адресного пространства л2 иначе будет отказ в доступе (имхо)
После смены стиля бордеров надо звать SetWindowPos с флагом SWP_FRAMECHANGED (по идеии)
вероятно....
GetWindowLong надо звать из адресного пространства л2 иначе будет отказ в доступе (имхо)
После смены стиля бордеров надо звать SetWindowPos с флагом SWP_FRAMECHANGED (по идеии)
Собственно, протестированный код:
var
hWnd:THandle;
Value:integer;
wRect:TRect;
begin
hWnd:=FindWindow(nil,'Lineage II');
Value:=GetWindowLong(hWnd,GWL_STYLE);
Value:=Value xor WS_CAPTION xor WS_THICKFRAME;
SetWindowLong(hWnd,GWL_STYLE,Value);
GetWindowRect(hWnd,wRect);
SetWindowPos(hWnd,HWND_TOP,
wRect.Left,
wRect.Top,
wRect.Right-wRect.Left,
wRect.Bottom-wRect.Top,
SWP_FRAMECHANGED);
end;
тесты проходили на клиенте ру офа? с ГГ? без каких либо еще утилит?
тесты проходили на клиенте ру офа? с ГГ? без каких либо еще утилит?
ГГ с Инеем могут забивать сообщения на изменение параметров акна ленейки, либо прятать хендл окна ленейке. Протестить на руОФФ клиенте немагу.
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot