![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinAPI
datorn © (2007-12-20 23:22:00)Как мне закрыть открытые папки (именно папки, а не приложения). FindWindow их не находит, wm_close, wm_quit не помогает.
Юрий Зотов (2007-12-25 19:48:00) [1]> datorn © (21.12.07 23:45) [19]
Причем заметьте, что в алгоритме [20] слово "папка" не упоминается вообще ни разу. Потому что никакие папки тут действительно ни при чем.
DVM (2007-12-22 07:29:00) [2]
> datorn © (21.12.07 23:45) [19]
Последовательность твоих действий должна быть такова:
1) Перебираем все топ-левел окна EnumWindows()
2) Проверяем не является ли очередное окно окно эксплорера, проверям для этого окно на принадлежность классу CabinetWClass
3) Если окно - окно эксплорера - то закрываем его.
Но помоему проще и надежнее эксплорер перезапустить принудительно убив насильно.
datorn (2007-12-21 23:45:00) [3]Да!!!!!!!!
DVM (2007-12-21 17:51:00) [4]
> Папка - это визуальное понятие. Директория - понятие физическое.
>
Я бы сказал, что папка - это не обязательно директория
> datorn ©
Ты бы по человечески выражался. Ты хочешь закрыть все окна папок эксплорера?
Юрий Зотов (2007-12-21 17:19:00) [5]Он так ничего и не понял...
datorn (2007-12-21 16:28:00) [6]Спасибо,clickmaker, бегу компилить.
clickmaker (2007-12-21 16:12:00) [7]sendmessage(findwindow('CabinetWClass',nil),wm_syscommand,SC_CLOSE,0).
datorn (2007-12-21 15:57:00) [8]Н-да, чего-то я ничего так и не понял. Конечно, разница между папками и директориями - это очень существенно и значимо, но главного я так и не понял. Как закрыть папку/директорию? Зайдите в меню пуск и нажмите документы--->мои рисунки или мо документы. Не знаю, как назвать то, что откроется, но оно не закрывается через sendmessage(findwindow('CabinetWClass',nil),wm_close,0,0).
Работаю консом в инет-клубе и пишу прогу по очистке компов (удаление временных инет-файлов и т.д., в том числе нужно одним нажатием убить все приложения и закрыть открытые окна - процессы убить смог, а вот открытые окна (папки/файлы) закрыть не могу).
Всем спасибо.
clickmaker (2007-12-21 13:13:00) [9]EnumWindows
класс окон = CabinetWClass
AlexanderMS (2007-12-21 12:51:00) [10]
> FindWindow их не находит
Заголовок окон ведь известен?
Можно попробовать FindWindowW и передать заголовок в формате Юникод. Просто FindWindow (=FindWindowA) иногда не находит.
www (2007-12-21 09:31:00) [11]
> > Хау! я все сказал!.Надо говорить: "Анге бу !"
dixi
Riply (2007-12-21 07:33:00) [12]> [9] Германн © (21.12.07 05:10)
> Хау! я все сказал!.
Надо говорить: "Анге бу !" (с) "Остров Тамбукту"
В переводе с туземного - Я Сказал !
:)
Германн (2007-12-21 05:10:00) [13]Папка - это визуальное понятие. Директория - понятие физическое.
Хау! я все сказал!.
Германн (2007-12-21 05:06:00) [14]
> Riply © (21.12.07 05:02) [7]
>
> > [6] Германн © (21.12.07 03:10)
> > Примите и прочь.
> Наберусь наглости и побуду еще :)
>
> > должен твердо знать разницу между folder и directory.
> "Ну хоть убей - не возьму" в толк разницу между ними :(
> Поясни еще раз.
>
Riply (2007-12-21 05:02:00) [15]> [6] Германн © (21.12.07 03:10)
> Примите и прочь.
Наберусь наглости и побуду еще :)
> должен твердо знать разницу между folder и directory.
"Ну хоть убей - не возьму" в толк разницу между ними :(
Поясни еще раз.
Германн (2007-12-21 03:10:00) [16]Да. Забыл добавить свою личную рекомендацию.
Термин "папка" вполне хорош для для пользователя. Но тот, кто пишет программы для пользователей (это я пытался не упоминать ЖЗЧ :) должен твердо знать разницу между folder и directory.
Примите и прочь.
Германн (2007-12-21 02:59:00) [17]А я давно говорил, что термин "folder" вместо термина "directory" придуман для того, чтобы привязать всех к мэйнстриму мелгомягких. А сей мэйнстрим направлен на то, чтобы простой пользователь Windows работал только с "документами" и с "папками документов".
Вот только тот, кто пишет или пытается писать программы должен понимать разницу.
Юрий Зотов (2007-12-21 02:32:00) [18]Тут основной вопрос даже не в том, что такое "папка", а что такое "открыта".
> автор
Допустим, я включил компьютер. Есть папка "C:\Temp". Скажите - она открыта или закрыта?
{RASkov} (2007-12-21 00:35:00) [19]> [2] datorn © (20.12.07 23:39)
Ты очень сильно все путаешь :(
Особенно папки и окна (в конкретном случае скорее всего окна експлорера)....
А если "папка открыта" в ТоталКомандере??? или еще где.....
Что конкретно тебе нужно, так и не понятно..... и для чего???
ЗЫ поставь галочку в "Свойствах папки" галочку "открывать папки в одном окне" :)
datorn (2007-12-20 23:39:00) [20]"Что есть в твоем вопросе - "папки"?"
Например, открыта папка "Мои документы" или "Мои рисунки" или просто "Новая папка" - как их закрыть? Допустим, заголовок окна папки я не знаю, класс - тоже (если у этих окон есть свой класс, по-моему, они работают просто из-под explorer.exe).