Как программно закрыть окно Windows
Модераторы: Naeel Maqsudov, C_O_D_E
-
- Сообщения: 25
- Зарегистрирован: 15 июн 2004, 12:25
Как программно закрыть не текущее окно Windows?
Пожалуйста, переформулируйте вопрос чтобы было понятно! Что значит текущее окно Windows? Если речь идет о каком-либо окне приложения, то алгоритм такой:
1) Найти окно (к примеру с помощью FindWindow API), получить дескриптор HWND.
2) Послать найденому окну WM_CLOSE или WM_DESTROY
1) Найти окно (к примеру с помощью FindWindow API), получить дескриптор HWND.
2) Послать найденому окну WM_CLOSE или WM_DESTROY
*provided AS IS
-
- Сообщения: 25
- Зарегистрирован: 15 июн 2004, 12:25
Ну, к примеру, я открыл окно1 "Командная строка". В командной строке запускаю какую-то программу (например, открываю документ Word). Этот документ появляется в другом окне2. Могу ли я из командной строки окна1 какой-то командой закрыть документ Word в окне2?
В WinXP есть команда taskkill, но она позволяет закрыть не окно, а процесс. Если это то, что нужно, вот пример использования (закрывает Winword):Могу ли я из командной строки окна1 какой-то командой закрыть документ Word в окне2?
Код: Выделить всё
taskkill /f /im winword.exe
-
- Сообщения: 25
- Зарегистрирован: 15 июн 2004, 12:25
В Win2000 не идет. А может подскажете как хотя бы свернуть окно2 из командной строки (окно1)!? Т.е., в принципе, мне надо, чтобы программа в окне2 работала как будто "резидентно", она может быть свернута, но при этом я мог бы продолжать работать в окне1 (командная строка).
Стандартной команды нет, но можно поступить проще: создать ярлык (shortcut) для программы 2 и установить в его свойствах минимизацию на запуск.
Другой вариант - самому написать утилиту командной строки, скрывающую заданное окно.
Другой вариант - самому написать утилиту командной строки, скрывающую заданное окно.
-
- Сообщения: 25
- Зарегистрирован: 15 июн 2004, 12:25
Только что пробовал, почему-то не получается.
Может быть будет понятнее если я опишу все более конкретно.
У меня есть index.htm, в котором используется мойшрифт.ttf. Этот шрифт не установлен в папке шрифтов Windows (мне это и не надо, т.к. я не хочу устанавливать этот шрифт в систему - я хочу временно использовать этот шрифт для просмотра index.htm). Это возможно если я просто запускаю мойшрифт.ttf (в окне просмотра шрифтов). Пока это окно открыто (может быть и свернуто) - я могу просматривать index.htm, включающий мой шрифт, но не установленный в системе.
Моя задача прописать в start.bat запуск мойшрифт.ttf (в окне просмотра шрифтов) в свернутом виде, затем запуск index.htm, затем после закрытия index.htm - закрытие мойшрифт.ttf (в окне просмотра шрифтов).
Может быть будет понятнее если я опишу все более конкретно.
У меня есть index.htm, в котором используется мойшрифт.ttf. Этот шрифт не установлен в папке шрифтов Windows (мне это и не надо, т.к. я не хочу устанавливать этот шрифт в систему - я хочу временно использовать этот шрифт для просмотра index.htm). Это возможно если я просто запускаю мойшрифт.ttf (в окне просмотра шрифтов). Пока это окно открыто (может быть и свернуто) - я могу просматривать index.htm, включающий мой шрифт, но не установленный в системе.
Моя задача прописать в start.bat запуск мойшрифт.ttf (в окне просмотра шрифтов) в свернутом виде, затем запуск index.htm, затем после закрытия index.htm - закрытие мойшрифт.ttf (в окне просмотра шрифтов).
Ну это, конечно, очень кривой путь к цели
Не мучайся, оставь мыло и я тебе вышлю утилиту, устанавливающую шрифт в систему.

Не мучайся, оставь мыло и я тебе вышлю утилиту, устанавливающую шрифт в систему.
-
- Сообщения: 25
- Зарегистрирован: 15 июн 2004, 12:25
Не могу поверить своему счастью. Уже несколько дней я мучаюсь над этой проблемой. interalex1@yandex.ru
Заранее спасибо.
Заранее спасибо.