Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];

Вниз

Подскажите !!!!   Найти похожие ветки 

 
PETR   (2002-06-04 10:41) [0]

как сделать так чтобы при запуске моего приложение все окна на рабочем столе сворачивались,вопрос помойму уже обсуждался если не трудно дайте ссылку !

Зарание спасибо !


 
Игорь Шевченко   (2002-06-04 10:46) [1]

EnumWindows, PostMessage (handle, WM_SYSCOMMAND, SC_MINIMIZE, 0)


 
Виктор Щербаков   (2002-06-04 10:50) [2]

PostMessage (HWND_BROADCAST, WM_SYSCOMMAND, SC_MINIMIZE, 0)
:)))


 
Игорь Шевченко   (2002-06-04 10:51) [3]

Виктор Щербаков © (04.06.02 10:50)

Свое приложение при этом тоже сворачивается ? :-)


 
Виктор Щербаков   (2002-06-04 10:55) [4]

Игорь Шевченко © (04.06.02 10:51)
Всё намного интереснее :)))


 
PETR   (2002-06-04 11:12) [5]

Ребят первый способ сворачивает только мое приложение ,а второй способ нет слов одни слюни :),обезобразил мой рабочий стол пришлось перезагружаться, всетаки как свернуть все окна на рабочем столе кроме моего А!


 
PETR   (2002-06-04 11:14) [6]

Не ужели не подскажите !!!!!!!!!!!!!!!!!!!!!!!!!!!!


 
Виктор Щербаков   (2002-06-04 11:16) [7]


> пришлось перезагружаться

Так и знал, что этим кончится :)

Если серьезно, то см. Игорь Шевченко © (04.06.02 10:46)
Почитай в SDK про EnumWindows.


 
Игорь Шевченко   (2002-06-04 11:17) [8]

Я написал. В процедуре перечисления окон надо посылать каждому не своему окну это сообщение.
А зачем, кстати, это надо?


 
Pat   (2002-06-04 11:18) [9]


var count:integer;
....
function EnumProc (WinHandle: HWnd; Param: LongInt): Boolean; stdcall;
begin
if (GetParent (WinHandle) = 0)
and (not IsIconic (WinHandle))
and (IsWindowVisible (WinHandle))
then begin
PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Inc(Count);
end;
EnumProc := TRUE;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Count:=0;
EnumWindows (@EnumProc, 0);
caption:="Свернуто "+inttostr(count)+" окон";
end;



 
PETR   (2002-06-04 11:40) [10]

Спасибо всем


 
Song   (2002-06-04 11:41) [11]

2Виктор Щербаков © (04.06.02 10:55)
SC_MAXIMIZE и SC_CLOSE веселее :)))


 
PETR   (2002-06-04 11:59) [12]

Ребят попробовал выше перечисленный код сворачивает все(это хорошо),а мне надо чтоб мое приложение осталось не тронутым!!!


 
PETR   (2002-06-04 12:08) [13]

Я недавно начал изучать DELPHI (поэтому может чего недопонимаю, да и англиским туго) но всетаки подскажите !!!!


 
Виктор Щербаков   (2002-06-04 12:09) [14]

Попробуй так:
if (GetParent (WinHandle) = 0)
and (not IsIconic (WinHandle))
and (IsWindowVisible (WinHandle) and (WinHandle <> Form1.Handle))
then begin
PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Inc(Count);
Смысл в том, чтобы не отправлять сообщение в окна своего приложения.


 
Игорь Шевченко   (2002-06-04 12:21) [15]


> Я недавно начал изучать DELPHI (поэтому может чего недопонимаю,
> да и англиским туго)


А нельзя изучать Delphi на более простых и безобидных примерах ?

Program Files\Borland\Delphi\Demos\...



 
PETR   (2002-06-04 12:25) [16]

>Виктор Щербаков
нет не получилось и мое приложение свернулось


 
PVOzerski   (2002-06-04 12:29) [17]

А может, СНАЧАЛА все окна свернуть, а уж ПОТОМ сделать форму
своего приложения видимой?


 
PETR   (2002-06-04 12:30) [18]

> Игорь Шевченко
можно конечно , но возникает иногда потребности , приходиться лезть в дебри вы уж извиняйте !


 
Виктор Щербаков   (2002-06-04 12:31) [19]

Вот так должно работать.
function EnumProc (WinHandle: HWnd; Param: LongInt): Boolean; stdcall;
begin
if (GetParent (WinHandle) = 0)
and (not IsIconic (WinHandle))
and (IsWindowVisible (WinHandle)
and (WinHandle <> Application.Handle))
and (WinHandle <> Form1.Handle) then
begin
PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Inc(Count);
end;
EnumProc := TRUE;
end;


 
PVOzerski   (2002-06-04 12:34) [20]

Опять же, уж коль скоро EnumWindows пользуемся, ужели трудно в
callback-функции сравнить хэндл найденного окна с хэндлом формы
приложения перед посылкой сообщения?


 
PETR   (2002-06-04 12:50) [21]

>Виктор Щербаков

Ура все получилось СПАСИБО !!!!!!!!!!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.006 c
1-55214
Voldemar
2002-06-05 14:28
2002.06.17
В D5 компилируется, а в D6 не хочет...


3-54989
Andrei_K_
2002-05-22 10:41
2002.06.17
проблемы с Interbase


1-55062
Sokoloff
2002-06-05 17:48
2002.06.17
Продвинутый stringgrid


1-55065
kmc
2002-06-05 18:31
2002.06.17
Как получить версию программы (version info) для этой же программ


6-55244
Prikolist
2002-04-09 10:00
2002.06.17
Граждане, Ваша помощь нужна!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский