Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WinAPI


Страницы:   1 2

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).


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо