Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2015, 10:10   #11
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Да, убрать с панели задач и из альт-таба... Как раз то, что делает sw_hide...
Значит, возможно ты вызываешь ShowWindow() не для того окна. Вспомни, как в delphi прятать программу с ПЗ: ShowWindow(Application.Handle, SW_HIDE), т.е. объект application иммеет то самое окно, значок которого отображается на ПЗ.
Но это всё ИМХО.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.08.2015, 10:12   #12
WhatO_o?!
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 54
По умолчанию

Дак какзус в том, что окошко программно сворачивается без проблем, что значит, что хэндл "евойный"
Здесь могла бы быть ваша реклама
WhatO_o?! вне форума Ответить с цитированием
Старый 14.08.2015, 10:17   #13
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Дак какзус в том, что окошко программно сворачивается без проблем, что значит, что хэндл "евойный"
Нет, дружок, не всё так просто. Сворачивается одно, а прячется, как раз, другое!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.08.2015, 10:27   #14
WhatO_o?!
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 54
По умолчанию

Интеренсые дела О_о а почему тогда для других программулин один?...
Здесь могла бы быть ваша реклама
WhatO_o?! вне форума Ответить с цитированием
Старый 14.08.2015, 10:33   #15
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
а почему тогда для других программулин один?...
а хрен его знает.
это просто предположение, не более.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.08.2015, 10:40   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я чейта не уверен что все так просто получится... Полнооконные игры например могут послать тебя далеко. Как вариант - крутить игры на виртуальной машине. Ее то свернуть проще.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2015, 10:49   #17
WhatO_o?!
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я чейта не уверен что все так просто получится... Полнооконные игры например могут послать тебя далеко. Как вариант - крутить игры на виртуальной машине. Ее то свернуть проще.
Другие игрули ловятся без проблем вроде... А у этой вон даже модный оконный режим... :D виртуалка сожрёт столько компа, что игрулям не достанется... Мне просто интересно с точки зрения организации, чем одно окно может отличаться от другого О_о
Здесь могла бы быть ваша реклама
WhatO_o?! вне форума Ответить с цитированием
Старый 14.08.2015, 11:04   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чем одно окно может отличаться от другого
Да как бы окно оно и в африке окно...
Бывает такое что в самой проге прописана блокировка сворачивания....
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2015, 11:08   #19
WhatO_o?!
Пользователь
 
Регистрация: 11.06.2011
Сообщений: 54
По умолчанию

Разрешили сворачивать но запретили скрывать? хотя кто этих корейцев знает...
Здесь могла бы быть ваша реклама
WhatO_o?! вне форума Ответить с цитированием
Старый 14.08.2015, 21:37   #20
DIONISKA
Форумчанин
 
Регистрация: 07.11.2011
Сообщений: 178
По умолчанию

Скачал я ваш Aion, дабы проверить всё, и у меня плохие новости

Код:
SetWindowPos(handle,0,0,0,0,0,SWP_HIDEWINDOW or SWP_NOSIZE or SWP_NOZORDER);
без проблем скрыло окно отовсюду, однако искал хэндл окна я малость по-другому

Код:
...
var mylist  :tstrings;
...
procedure getwinhandlelist(var alist: tstrings;const maxi:integer);
var
 vis          :boolean;
 wnd          :hwnd;
 i            :integer;
begin
i:=0;
if not(assigned(alist)) then alist:=tstringlist.Create;
wnd := GetWindow(application.handle, gw_hwndfirst);
while wnd <> 0 do
   begin
   vis:=IsWindowVisible(wnd);   {Vis:=true; если нужно учитывать невидимые окна}
   if (vis) and (GetWindow(wnd, gw_owner) = 0) then
     begin
       alist.Add(inttostr(wnd));
       inc(i);
       if i>maxi then break;
       if i mod 2=0 then application.ProcessMessages;
     end;
   wnd := GetWindow(wnd, gw_hwndnext);
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  mylist:=tstringlist.Create;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  mylist.free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
    I       : Integer;
    buff    : array [0..127] of char;
    s      :string;
begin
mylist.clear;
getwinhandlelist(mylist,2000); {2000 здесь максимальное число итераций для предотвращения зацикливания}
{в итоге в mylist будут хэндлы всех видимых окон}
{не стоит забывать что скрывать Programm Manager не стоит}
for I := 0 to mylist.Count-1 do
begin
 fillchar( buff, SizeOf(buff),#0);
 GetWindowText(strtoint(mylist[i]), buff, SizeOf(buff));
 s:=buff;
{... тут уже проводить проверки и неугодные окна скрывать}
 if pos('AION client',s)<>0 then SetWindowPos(strtoint(mylist[i]),0,0,0,0,0,SWP_HIDEWINDOW or SWP_NOSIZE or SWP_NOZORDER);
{окно клиента игры имеет заголовок "AION client" его мы и скроем}
end;
DIONISKA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SW_HIDE не блокирует вывод программы Effort Помощь студентам 1 15.06.2011 22:06
ShowWindow(...., SW_SHOW) возвращает 0 Парсифаль Win Api 4 12.03.2010 04:21
Как узнать handle окна имея handle обного из его компонентов SeRhy Win Api 2 18.10.2009 19:31
Как имея handle окна узнать handle edit-a который находится в етом окне SeRhy Общие вопросы Delphi 1 20.07.2008 13:48