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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2010, 18:24   #1
Vladya
Форумчанин
 
Аватар для Vladya
 
Регистрация: 04.11.2008
Сообщений: 360
По умолчанию Сворачивание всех окон системы

Добрый день!
Помогите разобраться вот в чем:
я сворачиваю все окна системы вот этой функцией
Код:
function enumminiproc (wd: hwnd;
param: longint): boolean;
stdcall;
begin
if wd<>Form1.handle then 
if iswindowvisible(wd) then 
if not isiconic(wd) then 
if iswindow(wd) then 
showwindow(wd, sw_minimize);
enumminiproc := true;
end;
Окна сворачиваются но сворачивается и моя программа которая должна остаться не свернутой, вот собственно и вопрос мой - почему моя программа тоже сворачивается???
Мой скромненький сайт
Vladya вне форума Ответить с цитированием
Старый 08.05.2010, 19:41   #2
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

// deleted

Последний раз редактировалось Lemo; 08.05.2010 в 19:56.
Lemo вне форума Ответить с цитированием
Старый 08.05.2010, 19:56   #3
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Код:
function MyCallback(Wnd: THandle;Param: integer): boolean; stdcall;
var
  style: longint;
  tsb, rabst: integer;
begin
  tsb:=FindWindow('Shell_TrayWnd', nil);
  rabst:=FindWindow('ProgMan', 'Program Manager');
  Result := Wnd <> 0;
  style:=GetWindowLong(wnd,GWL_EXSTYLE);
  style:=style and WS_EX_TOPMOST;
  if Result and IsWindowVisible(Wnd)and (not IsIconic(WND)) and (wnd<>tsb) and
  (wnd<>rabst) and (wnd<>FindWindow('Indicator',nil)) and
  (style<>WS_EX_TOPMOST)and(wnd<>form1.handle)then
  begin
    ShowWindow(Wnd,sw_hide);
    ShowWindow(Wnd,Param);
  end;
end;



procedure ShowAllWindows(Cmd: integer);
begin
  EnumWindows(@MyCallback,Cmd);
end;
ВЫЗОВ:


Код:
ShowAllWindows(SW_SHOWMINIMIZED);
Lemo вне форума Ответить с цитированием
Старый 10.05.2010, 12:16   #4
Vladya
Форумчанин
 
Аватар для Vladya
 
Регистрация: 04.11.2008
Сообщений: 360
По умолчанию

Так тоже скрываются все окна вместе и с моей программой...
Мой скромненький сайт
Vladya вне форума Ответить с цитированием
Старый 10.05.2010, 12:30   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Я немного изменил функцию Lemo. Теперь своя программа не сворачивается.
Код:
function MyCallback(Wnd: THandle;Param: integer): boolean; stdcall;
var
  style: longint;
  tsb, rabst: integer;
begin
  tsb:=FindWindow('Shell_TrayWnd', nil);
  rabst:=FindWindow('ProgMan', 'Program Manager');
  Result := Wnd <> 0;
  style:=GetWindowLong(wnd,GWL_EXSTYLE);
  style:=style and WS_EX_TOPMOST;
  if Result and IsWindowVisible(Wnd)and (not IsIconic(WND)) and (wnd<>tsb) and
  (wnd<>rabst) and (wnd<>FindWindow('Indicator',nil)) and
  (style<>WS_EX_TOPMOST)and(wnd<>form1.handle)then
  begin
   If Wnd <> Application.Handle Then
   Begin
    ShowWindow(Wnd,SW_HIDE);
    ShowWindow(Wnd,Param);
   End;
   Form1.SetFocus;
   End;
end;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сворачивание всех окон кроме моего. tbeca@mail.ru Общие вопросы Delphi 2 17.01.2010 19:17
Сворачивание окон zzzzz Общие вопросы Delphi 4 20.10.2008 09:16
Сворачивание окон Blackmore Общие вопросы Delphi 1 19.05.2008 18:27
Поверх всех окон Патрон Общие вопросы Delphi 1 18.04.2008 16:57
Сворачивание окон Legat Win Api 2 08.10.2007 16:36