
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.05.2007, 12:23
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
Помогите закрыть другое приложение из VFP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.05.2007, 16:49
|
|||
|---|---|---|---|
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 09:38
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
HWND окна не известно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 11:40
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
Вобщем помогите кто может, мне надо по событию закрыть приложение , далее открыть его и нажать в открытом приложении на кнопку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 12:28
|
|||
|---|---|---|---|
Win Api (EndTask) |
|||
|
#18+
как отлавливается событие ? известно ли хоть название окна приложения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 12:44
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
название окна известно к примеру (TCPF) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 12:46
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
Погодинкак отлавливается событие ? известно ли хоть название окна приложения ? по If надо закрыть приложение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 13:45
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
Если известно имя окна приложения то используй: DECLARE LONG FindWindow IN Win32API STRING lpClassName,STRING WindowName например: lhWnd = FindWindow(NULL,'имя окна открытого приложения') Далее если получишь 0 - сообщение что приложение не активно, иначе закрываешь его как тебе советовали выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 14:02
|
|||
|---|---|---|---|
Win Api (EndTask) |
|||
|
#18+
Точно. А потом запустишь приложение, найдешь его HWND с пом-ю FindWindow, затем HWND кнопки тоже с пом-ю FindWindow и пошлешь ей SendMessage с параметрами WM_KEYDOWN и wParam=0, lParam=13 (Enter). И будет тебе счастье 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 14:40
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
спс огромное, только вот возникла проблема при закрытии окна. 'имя окна открытого приложения' меняеться если выскакивает ошибка . на пример TCP - PUSTO TCP - немогу открыть фаил конфига хотелось бы что бы хендл выдавался только по TCP независимо от того что дальше. Такое возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 15:14
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
Если имя окна на момент предполагаемого закрытия приложения незвестно точно, то FindWindow не подойдет - надо искать другие пути нахождения дескриптора окна. Вопрос: Приложение, которое ты хочешь закрыть, открывается в твоей программе или независимо от нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 15:38
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
Дело в том что приложение открыто, далее запускаеться прога проверят есть ли в логах ошибка - если есть то надо закрыть приложение и открыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 15:39
|
|||
|---|---|---|---|
|
|||
Win Api (EndTask) |
|||
|
#18+
и нажать в приложении на кнопку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.05.2007, 16:07
|
|||
|---|---|---|---|
|
|||
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 Дескриптор процесса сохранить в любом удобном виде. Далее понятно - твоя программа проверки проверяет лог и если необходимо читает дескриптор и закрывает приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1589386]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
138ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 384ms |

| 0 / 0 |
