28.05.2009, 18:41 | #1 |
Участник
|
При программном закрытии окон навижена, используя SendKeys, возник один вопрос: Как проверить, что закрываемое окно закрылось? Или же что не осталось не закрытых окон?
|
|
28.05.2009, 18:49 | #2 |
Administrator
|
for i := 1 to 10000 do
sendkeys({Esc}); © |
|
29.05.2009, 12:21 | #3 |
Участник
|
да именно так у мня и написано. Я хотела лишь уточнить, если в результате нажатия Ескейп, окно не закроется(по тем или иным причинам). Ну допустим, выдаст какое либо сообщение перед закрытием, которое по ескейп не зароется. Как в таком случае отследить закрылись все окна или нет?
|
|
01.06.2009, 19:20 | #4 |
Участник
|
по данному коду закрывается лишь активное оно.. а если во время срабатывания кода пользователь работает в другом приложении на которое ескейп не действует. По моему разумению логично было перед выполнением цикла с ескейп, сделать окно навижена активным. Каким образом это можно сделать?
|
|
01.06.2009, 19:23 | #5 |
Administrator
|
а с какими еще приложениями ваши пользователя работают, негодяи?
а если серьезно, то зачем закрывать все окна? если надо просто закрыть Нав, то можно грубо и беспардонно убить процесс. |
|
01.06.2009, 19:44 | #6 |
Участник
|
ну можно , хотя не совсем удобно. каждый раз новый пользователь должен запускать навижн.. эт конечно не долго. но все же... я нашла команду WshShell.AppActivate. пробовала разные варианты, но навижн не активируется... Мож кто знает каким образом ее применяют в наве?
|
|
01.06.2009, 19:55 | #7 |
Administrator
|
а можно исходную задачу услышать?
зачем вообще все это? |
|
01.06.2009, 20:15 | #8 |
Участник
|
вообщем, я неправильно имя приложения,то бишь навижена задавала.
[codebox]IF wndHost.AppActivate(q) THEN FOR i:=1 TO 50 DO wndHost.SendKeys('{ESC}');[/codebox] я думала что нужно писать аналогично названию процесса, т.е. finsql. Но так не работало. Потому, попробовала определить q:='NAVISION', но оказалось что так он закрывает только 4-ку, попробовала q:='Microsoft Dynamics NAV' и оказалось что такой вариант вполне благополучно активирует 5-ку и закрывает в ней все окна |
|