Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: CL | DM;

Вниз

Как программно свернуть все окна?   Найти похожие ветки 

 
BaDeVlad   (2003-03-06 19:22) [0]

Есть такая команда, по умолчанию в 98 винде в КвикЛанче торчит. Как ее программно сделать?


 
AlexRush ©   (2003-03-06 20:05) [1]

My_EnumWindowsProc(hWnd:DWORD;param:LPARAM):BOOL;stdcall;
begin
CloseWindow(hWnd);// минимизирует окно
end;

procedure MinimizeAllWindows;
begin
EnumWindows(@My_EnumWindowsProc,0);
end;


 
Anatoly Podgoretsky ©   (2003-03-06 20:10) [2]

Эта кнопка связана с командным файлом для проводника
Смотри в реестре ключ SHCmdFile
По идее ты можешь запустить этот файл с помощью ShellExecute


 
Lord Warlock ©   (2003-03-07 10:05) [3]


> AlexRush © (06.03.03 20:05)


Уважаемый, видел бы ты, как твой код глюканул...


 
Lord Warlock ©   (2003-03-07 10:12) [4]


> BaDeVlad


Я недели 3 назад писал как сделать тоже самое, но ветки уже нет.

Идея была в импорте библиотеки Shell32.dll, и дальнейшем вызове ее методов, в том числе и MinimizeAll. Впрочем вариант
Anatoly Podgoretsky © не исключается.


 
Anatoly Podgoretsky ©   (2003-03-07 10:12) [5]

А ты чего оиждал от этого, он же безоговорочно закрывает окна, не скрывает, не минимизирует, а именно закрывает все подряд. Надеюсь не сильно систему порушил.


 
Юрий Зотов ©   (2003-03-08 11:43) [6]

>Lord Warlock © (07.03.03 10:05)
>> AlexRush © (06.03.03 20:05)
>> Уважаемый, видел бы ты, как твой код глюканул...

Он не глюканул. Он абсолютно честно и абсолютно точно выполнил абсолютно то, что Вы и хотели - свернул ВСЕ окна. Все подряд, без разбора. Каков вопрос - таков ответ.

Чуть-чуть подправьте:

My_EnumWindowsProc(hWnd:DWORD;param:LPARAM):BOOL;stdcall;
begin
if IsWindowVisible(hWnd) then CloseWindow(hWnd)
end;


 
Романов Р.В. ©   (2003-03-08 14:12) [7]

Lord Warlock © (12.02.03 16:08)
Если хорошо порыться, все можно найти :)

1. в меню Project выбираем ImportTypeLibrary, говорим Add, лезем в каталог виндов\System32 и находим файл Shell32.DLL, он добавляется в список. Говорим CreateUnit, появряется Shell32_TLB.pas,
2 В программе пишем uses Shell32_TLB; и далее
var f:TShell;
begin
f:=TShell.Create(nil);
f.MinimizeAll;
end;

ЗЫ Сделал минут за 5, может быть криво работать под разными виндами, специально не выяснял


 
Diamond Cat ©   (2003-03-08 15:44) [8]

2 Anatoly Podgoretsky, функция Closewindow не закрывает а минимизирует окна.
2 Юрий Зотов, есть еще окна которые не видны лишь потому что они не имеют размера, это проверить тоже надо.
Возможно лучше проверять имеют ли окна закладку в панели задачь через Getwindowlong


 
Song ©   (2003-03-08 15:57) [9]

Да просто Win+M симулировать.


 
GROL ©   (2003-03-10 20:07) [10]

Вы смотрели свойства той "пымпочки"?

там ссылка на scf файл такого содержания:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop


Я просто, создаю свой такой файл, делаю ShellExecute, и убиваю его, а винда там сама пускай разберается кого куда.



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

Текущий архив: 2003.04.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
3-91213
Z_man7777
2003-04-10 15:35
2003.04.28
Возврат данных из процедуры.


14-91510
Sheng
2003-04-10 08:32
2003.04.28
Токо что нашёл маааленький недочёт у форума


14-91474
Stager
2003-04-09 13:46
2003.04.28
Встречался ли Вам такой грид?


8-91412
Mihey
2002-11-23 00:10
2003.04.28
Проблемы с DelphiX


1-91243
62mkv
2003-04-10 09:15
2003.04.28
Поделитесь опытом создания компонента (TCustomDbGrid)