Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.006 c
15-1198146819
BOGa
2007-12-20 13:33
2008.01.27
Перспективы программиста в России


15-1198268667
I
2007-12-21 23:24
2008.01.27
Моник и процессор


3-1190019847
alsov
2007-09-17 13:04
2008.01.27
Сумма (среднее и т.д) по выборке


11-1182595595
Vladimir Kladov
2007-06-23 14:46
2008.01.27
Версия 2.70


3-1190018030
Alex'
2007-09-17 12:33
2008.01.27
Криптование всех процедур, функций MS SQL 2005.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский