|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Коллеги! На странице http://autoit-script.ru/autoit3_docs/functions/ShellExecuteWait.htm описывается полезная функция ShellExecuteWait. Если я правильно понимаю, с ее помощью можно приостановить выполнение программы на VFP, пока запущенное внешнее приложение не отработает. Хочется избавиться от = sleep(t), где t подбирается эмпирически в разных ситуациях. На нашем форуме я не нашел пример ее использования в среде VFP. Как ею пользоваться? Приведите пример ее вызова на VFP, пожалуйста! Я что-то никак не могу ее вызвать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 19:25 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAPХочется избавиться от = sleep(t), где t подбирается эмпирически в разных ситуациях. WaitForSingleObject() будет ждать ровно столько сколько надо, если у тебя CreateProcess() используется. Если не используется, то подумай над его использованием, т.к. все остальное это обертки над CreateProcess(), лучше один раз свою обертку сделать чтобы не зависеть от ограничений чужих поделок. Тут я свой класс-обертку показывал. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 19:49 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Ну зачем использовать какую-то функцию, если уже имеется ООП-решение Код: sql 1. 2.
В книге Клепинина и Агофоновой подробно расписана роль 3-го параметра в методе Run() объекта Wscript.Shell. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 01:04 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Уважаемый Beresnev! Подскажите как в качестве lcExe указать не только имя exe файла типа "WinWord.exe", "Calc.exe", а путь к выполняемому файлу. У меня возникает ошибка, если lcExe = "d:\papka\programma.exe" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 02:23 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Забыл важное обстоятельство - у меня W7 x64. Тут зачастую есть нюансы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 10:11 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAPЗабыл важное обстоятельство - у меня W7 x64. Тут зачастую есть нюансы. Есть ньюансы. На W7 x64 у меня ShellExecute() отказался EXE запускать. Про Wscript.Shell тут почитай . Примеры на VB но под фокс поправить не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 10:32 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Уважаемый Dima T! Я ходил по данной Вами ссылке. Непонятный синтаксис. Пожалуйста, приведите работоспособный пример в пару строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 11:10 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAPУважаемый Dima T! Я ходил по данной Вами ссылке. Непонятный синтаксис. Пожалуйста, приведите работоспособный пример в пару строк. Выше был пример. Попробовал. У меня работает Код: sql 1. 2.
0 вторым параметром - Не отображать окно. и рабочая папка там та же что и твоей проги которая этот код вызывает. Может из-за этого у тебя проблемы были. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 11:59 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAPНепонятный синтаксис. Почти как фоксе, немного отличается. Например Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
будет так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 12:03 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Dima TWScript.Sleep(7000) Да не волнуйтесь вы так ... не убежит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 14:17 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Господа! Пожалуйста, обратите внимание на МОЙ вопрос. Как сделать так, чтобы lcExe = "d:\papka\programma.exe" в нижеследующем фрагменте не вызывало ошибку ? loWshShell = CREATEOBJECT("Wscript.Shell") lnReturn = loWshShell.Run(lcExe,0,.T.) Если lcExe = "WinWord.exe" - все работает. Либо наоборот. Как упомянутой программе programma.exe дать статус видимой без пути программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 14:46 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAP, ты бы хоть написал какая ошибка. У меня работает при Код: sql 1.
если путь правильный. Если неправильный (файла EXE не существует) - происходит ошибка, тут надо в TRY ... CATCH оборачивать. sg12, флуди в своей ветке, там можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 14:54 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Dima T! Вот программа PROCEDURE wsh lcExe = "C:\Program Files\JPEG to PDF\JpegtoPDF.exe" * lcExe = "WinWord.exe" loWshShell = CREATEOBJECT("Wscript.Shell") lnReturn = loWshShell.Run(lcExe,,.T.) RETURN Ошибка такова: ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 15:01 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Заработало! lcExe = '"'+"C:\Program Files\JPEG to PDF\JpegtoPDF.exe" + '"' Нужны еще кавычки !!! Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 15:03 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAPНужны еще кавычки !!! Конечно, иначе как разобрать где путь, а где параметры. PS Можно строку писать в квадратных скобках, выглядит читабельнее. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 15:10 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Господа! Можно ли сделать так, чтобы вновь открывшееся окно с загружаемой программой было модальным? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2013, 19:27 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAPГоспода! Можно ли сделать так, чтобы вновь открывшееся окно с загружаемой программой было модальным? Нельзя, т.к. это окно другой программы (процесса). Максимум - можно вывести окно запущенной программу перед своей. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 06:55 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
UAP, Можно установить LockScreen = .T. и отслеживать существование этого окна. Как окно закрылось - LockScreen = .F. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 13:23 |
|
Как использовать ShellExecuteWait
|
|||
---|---|---|---|
#18+
Уважаемый Reese! Подскажите куда записать LockScreen. Мне это неясно, поскольку речь идет об окне ВНЕШНЕГО по отношению к моей программе приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2013, 13:32 |
|
|
start [/forum/moderation_log.php?user_name=maxx_l]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 442ms |
total: | 613ms |
0 / 0 |