|
Winapi
|
|||
---|---|---|---|
#18+
Привет всем С помощью какой Winapi функции можно из одного приложени закрыть окно другого приложения, зная caption окна ? Например из какого-нибудь "моего" exe файла закрыть окно Word-а ? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2003, 18:28 |
|
Winapi
|
|||
---|---|---|---|
#18+
см. FindWindow и FindWindowEx по-моему в форуме по Делфи был код ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2003, 18:42 |
|
Winapi
|
|||
---|---|---|---|
#18+
Да Handler-то я получаю. У меня DestroyWindow не хочет почему-то с этим Handler срабатывать. Т.е. она срабатывает, но окно как висело так и висит. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2003, 18:52 |
|
Winapi
|
|||
---|---|---|---|
#18+
Дело в том, что A thread cannot use DestroyWindow to destroy a window created by a different thread. Пришлось использовать EndTask Спасибо за желание помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2003, 19:28 |
|
Winapi
|
|||
---|---|---|---|
#18+
понятно. с нитями вечно какие-то траблы. u r welcome :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2003, 19:30 |
|
Winapi
|
|||
---|---|---|---|
#18+
привет. может просто послать программе сообщение wm_close ? только при помощи sendMessage, PostMessage в общем напирать на команды "предлагаю закрыться" (способ на посылке сообщений позволяет осуществлять межпроцессовой общение, например, управлять Winamp'ом) а использование террористических мер типа TerminateProcess и вообще работа с хендлами будет вместо закрытия просто разрушать приложение, т.к. оно должно прибрать за собой, освободить ресурсы, сохраниться итд. (по смыслу это как SQL Server отключать кнопкой Reset) всего хорошего ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2003, 03:22 |
|
Winapi
|
|||
---|---|---|---|
#18+
Я бы немного поправил предыдущий ответ Посылать сообщение следует окну, которое хочется закрыть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2003, 03:56 |
|
Winapi
|
|||
---|---|---|---|
#18+
Точно. и привет землякам :) Glory, а что за задача? может можно сделать лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2003, 09:49 |
|
Winapi
|
|||
---|---|---|---|
#18+
Ну если интересно. Есть dll-ка, в которую зашита определенная логика. dll-ка получает на вход 2 пареметра - имена входного и выходного файлов - и после отработки открывает окно Ворда с результами работы и возвращает управление в мое приложение. Это удобно когда обрабатываемый файл один. При пакетной обработке, соответственно, имеем на экране 10, 20, ... окон Ворда. Что конечно несколько неудобно. Сама dll-ка не имеет входных параметров для управления окном с результатами работы. Остается только самостоятельно уничтожать это окно. DestroyWindow не подходит, т.к. окно Ворда я так понял создано в другом thread. Пока есть только EndTask, что тоже не есть хорошо, т.к. есть вероятность испортить файл, открытый в данный момент в Ворде. Все это происходит в VFP 7 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2003, 10:29 |
|
Winapi
|
|||
---|---|---|---|
#18+
В принципе, SendMessage - совсем неплохо. Но можно через OLE поключиться к открытому ворду и закрыть его, только делать это надо отдельно для каждого окна. Ну и задержки там, проверки, обработки ошибок и т.д. И, насколько я помню, для word95 не работает. Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2003, 12:45 |
|
Winapi
|
|||
---|---|---|---|
#18+
Да, если только с вордом или скажем с Excel (про другие без понятия), очень удобно использовать OLE. Хелпы идут вместе с офисом. там язык бейсик, но главное тут названия методов и свойств. Это конечно дельфя. Методика выхода: Код: plaintext 1. 2. 3. 4. 5. 6.
при работе без компонентов серверов, напрямую с OLEObject'ами способ тот же.имея на руках OLE-интерфейс для какого-либо окна ворда, его тихое закрытие - это сказать ему: "закройся без сохранения", а потом уничтожить уже ненужный Object (в разных языках по-разному: NIL записать, release<так кажись в си> вызвать итд). удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 05:38 |
|
|
start [/forum/topic.php?fid=16&msg=32102043&tid=1348923]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 275ms |
0 / 0 |