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

Вниз

WinAPI   Найти похожие ветки 

 
datorn ©   (2007-12-20 23:22) [0]

Как мне закрыть открытые папки (именно папки, а не приложения). FindWindow их не находит, wm_close, wm_quit не помогает.


 
{RASkov} ©   (2007-12-20 23:31) [1]

> [0] datorn ©   (20.12.07 23:22)
> Как мне закрыть открытые папки (именно папки, а не приложения).

Что есть в твоем вопросе - "папки"?

> FindWindow их не находит

Она(функция) вообще-то ищет окна, а не папки (


 
datorn ©   (2007-12-20 23:39) [2]

"Что есть в твоем вопросе - "папки"?"

Например, открыта папка "Мои документы" или "Мои рисунки" или просто "Новая папка" - как их закрыть? Допустим, заголовок окна папки я не знаю, класс - тоже (если у этих окон есть свой класс, по-моему, они работают просто из-под explorer.exe).


 
{RASkov} ©   (2007-12-21 00:35) [3]

> [2] datorn ©   (20.12.07 23:39)

Ты очень сильно все путаешь :(
Особенно папки и окна (в конкретном случае скорее всего окна експлорера)....
А если "папка открыта" в ТоталКомандере??? или еще где.....
Что конкретно тебе нужно, так и не понятно..... и для чего???

ЗЫ поставь галочку в "Свойствах папки" галочку "открывать папки в одном окне" :)


 
Юрий Зотов ©   (2007-12-21 02:32) [4]

Тут основной вопрос даже не в том, что такое "папка", а что такое "открыта".

> автор

Допустим, я включил компьютер. Есть папка "C:\Temp".  Скажите - она открыта или закрыта?


 
Германн ©   (2007-12-21 02:59) [5]

А я давно говорил, что термин "folder" вместо термина "directory" придуман для того, чтобы привязать всех к мэйнстриму мелгомягких. А сей мэйнстрим направлен на то, чтобы простой пользователь Windows работал только с "документами" и с "папками документов".
Вот только тот, кто пишет или пытается писать программы должен понимать разницу.


 
Германн ©   (2007-12-21 03:10) [6]

Да. Забыл добавить свою личную рекомендацию.
Термин "папка" вполне хорош для для пользователя. Но тот, кто пишет программы для пользователей (это я пытался не упоминать ЖЗЧ :) должен твердо знать разницу между folder и directory.
Примите и прочь.


 
Riply ©   (2007-12-21 05:02) [7]

> [6] Германн ©   (21.12.07 03:10)
> Примите и прочь.
Наберусь наглости и побуду еще :)

> должен твердо знать разницу между folder и directory.
"Ну хоть убей - не возьму" в толк разницу между ними :(
Поясни еще раз.


 
Германн ©   (2007-12-21 05:06) [8]


> Riply ©   (21.12.07 05:02) [7]
>
> > [6] Германн ©   (21.12.07 03:10)
> > Примите и прочь.
> Наберусь наглости и побуду еще :)
>
> > должен твердо знать разницу между folder и directory.
> "Ну хоть убей - не возьму" в толк разницу между ними :(
> Поясни еще раз.
>


 
Германн ©   (2007-12-21 05:10) [9]

Папка - это визуальное понятие. Директория - понятие физическое.
Хау! я все сказал!.


 
Riply ©   (2007-12-21 07:33) [10]

> [9] Германн ©   (21.12.07 05:10)
> Хау! я все сказал!.

Надо говорить: "Анге бу !" (с) "Остров Тамбукту"
В переводе с туземного - Я Сказал !
:)


 
www   (2007-12-21 09:31) [11]


> > Хау! я все сказал!.Надо говорить: "Анге бу !"

dixi


 
AlexanderMS ©   (2007-12-21 12:51) [12]


> FindWindow их не находит

Заголовок окон ведь известен?
Можно попробовать FindWindowW и передать заголовок в формате Юникод. Просто FindWindow (=FindWindowA) иногда не находит.


 
clickmaker ©   (2007-12-21 13:13) [13]

EnumWindows
класс окон = CabinetWClass


 
datorn ©   (2007-12-21 15:57) [14]

Н-да, чего-то я ничего так и не понял. Конечно, разница между папками и директориями - это очень существенно и значимо, но главного я так и не понял. Как закрыть папку/директорию? Зайдите в меню пуск и нажмите документы--->мои рисунки или мо документы. Не знаю, как назвать то, что откроется, но оно не закрывается через sendmessage(findwindow("CabinetWClass",nil),wm_close,0,0).
Работаю консом в инет-клубе и пишу прогу по очистке компов (удаление временных инет-файлов и т.д., в том числе нужно одним нажатием убить все приложения и закрыть открытые окна - процессы убить смог, а вот открытые окна (папки/файлы) закрыть не могу).
Всем спасибо.


 
clickmaker ©   (2007-12-21 16:12) [15]

sendmessage(findwindow("CabinetWClass",nil),wm_syscommand,SC_CLOSE,0).


 
datorn ©   (2007-12-21 16:28) [16]

Спасибо,clickmaker, бегу компилить.


 
Юрий Зотов ©   (2007-12-21 17:19) [17]

Он так ничего и не понял...


 
DVM ©   (2007-12-21 17:51) [18]


> Папка - это визуальное понятие. Директория - понятие физическое.
>  

Я бы сказал, что папка - это не обязательно директория


> datorn ©

Ты бы по человечески выражался. Ты хочешь закрыть все окна папок эксплорера?


 
datorn ©   (2007-12-21 23:45) [19]

Да!!!!!!!!


 
DVM ©   (2007-12-22 07:29) [20]


> datorn ©   (21.12.07 23:45) [19]

Последовательность твоих действий должна быть такова:

1) Перебираем все топ-левел окна EnumWindows()
2) Проверяем не является ли очередное окно окно эксплорера, проверям для этого окно на принадлежность классу CabinetWClass
3) Если окно - окно эксплорера - то закрываем его.

Но помоему проще и надежнее эксплорер перезапустить принудительно убив насильно.


 
Юрий Зотов ©   (2007-12-25 19:48) [21]

> datorn ©   (21.12.07 23:45) [19]

Причем заметьте, что в алгоритме [20] слово "папка" не упоминается вообще ни разу. Потому что никакие папки тут действительно ни при чем.



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

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

Наверх




Память: 0.52 MB
Время: 0.016 c
3-1189673477
Девушка
2007-09-13 12:51
2008.01.27
Как поймать обрыв коннекта?


2-1198750703
Dash Rendar
2007-12-27 13:18
2008.01.27
Drag n Drop между страницами PageControl


15-1197906636
necromancer
2007-12-17 18:50
2008.01.27
Интрасети


15-1198003654
Kolan
2007-12-18 21:47
2008.01.27
А как сделать скриншоты с видео?


2-1198657702
312kbps
2007-12-26 11:28
2008.01.27
Результат функции массив )