|
|
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Помогите закрыть другое приложение из VFP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 12:23 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Если известен HWND окна приложения то так: DECLARE LONG SendMessage IN win32api LONG whWnd,LONG Msg,LONG wParam,LONG lParam WM_DESTROY=2 SendMessage(hwndapp,WM_DESTROY,0,0) CLEAR DLLS не поможет WM_DESTROY, пробуй WM_CLOSE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 16:49 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
HWND окна не известно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 09:38 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Вобщем помогите кто может, мне надо по событию закрыть приложение , далее открыть его и нажать в открытом приложении на кнопку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 11:40 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
как отлавливается событие ? известно ли хоть название окна приложения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 12:28 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
название окна известно к примеру (TCPF) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 12:44 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Погодинкак отлавливается событие ? известно ли хоть название окна приложения ? по If надо закрыть приложение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 12:46 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Если известно имя окна приложения то используй: DECLARE LONG FindWindow IN Win32API STRING lpClassName,STRING WindowName например: lhWnd = FindWindow(NULL,'имя окна открытого приложения') Далее если получишь 0 - сообщение что приложение не активно, иначе закрываешь его как тебе советовали выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 13:45 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Точно. А потом запустишь приложение, найдешь его HWND с пом-ю FindWindow, затем HWND кнопки тоже с пом-ю FindWindow и пошлешь ей SendMessage с параметрами WM_KEYDOWN и wParam=0, lParam=13 (Enter). И будет тебе счастье 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 14:02 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
спс огромное, только вот возникла проблема при закрытии окна. 'имя окна открытого приложения' меняеться если выскакивает ошибка . на пример TCP - PUSTO TCP - немогу открыть фаил конфига хотелось бы что бы хендл выдавался только по TCP независимо от того что дальше. Такое возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 14:40 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Если имя окна на момент предполагаемого закрытия приложения незвестно точно, то FindWindow не подойдет - надо искать другие пути нахождения дескриптора окна. Вопрос: Приложение, которое ты хочешь закрыть, открывается в твоей программе или независимо от нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 15:14 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Дело в том что приложение открыто, далее запускаеться прога проверят есть ли в логах ошибка - если есть то надо закрыть приложение и открыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 15:38 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
и нажать в приложении на кнопку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 15:39 |
|
||
|
Win Api (EndTask)
|
|||
|---|---|---|---|
|
#18+
Если приложение запускается независимо от твоей программы проверки и имя окна фактически неизвестно , то надо искать пути определения твоей программой дескриптора этого приложения. Например так: Написать на VFP программу запускающую это приложение. Запускать приложение через функцию API: DECLARE INTEGER CreateProcess IN kernel32; STRING lpApplicationName,; STRING lpCommandLine,; INTEGER lpProcessAttributes,; INTEGER lpThreadAttributes,; INTEGER bInheritHandles,; INTEGER dwCreationFlags,; INTEGER lpEnvironment,; STRING lpCurrentDirectory,; STRING lpStartupInfo,; STRING @ lpProcessInformation Эта функция при открытии программы возвращает дескриптор процесса который можно получить разобрав структуру lpProcessInformation Дескриптор процесса сохранить в любом удобном виде. Далее понятно - твоя программа проверки проверяет лог и если необходимо читает дескриптор и закрывает приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 16:07 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34512601&tid=1589386]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 434ms |

| 0 / 0 |
