Форум: "Система";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];
ВнизКак программно свернуть все окна? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c