powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запуск .exe
8 сообщений из 8, страница 1 из 1
запуск .exe
    #32480373
lesha_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня несколько вопросов.
1. Как быть если в run нужно передать путь к файлу с пробелами
(run c:\my folder\1.exe) - естественно на пробел фокс ругается. Как быть? Что то не соображу, раньше менял текущую директорию на нужную(где .ехе), потом обратно, но хочется как-нибудь покрасивее.
2. Какая макс. длина команды в run?
3. И так для общего развития: Какие есть альтернативы run? Api функции, создание объектови запуск уже их и т.п.
Если не в тягость можно маленькие примеры на эту тему

P.s. Учиться никогда не поздно, а помочь ближнему святое дело.
...
Рейтинг: 0 / 0
запуск .exe
    #32480567
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй:
run /N "c:\my folder\1.exe"
...
Рейтинг: 0 / 0
запуск .exe
    #32480577
lesha_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да все верно - ступил. У меня запуск с параметром и я запускал
run "c:\my folder\1.exe par1" Одним словом с кавычками промазнулся.

Спасибо но остальные два вопроса не снимаются. Очень интересно почитать ответы.
...
Рейтинг: 0 / 0
запуск .exe
    #32480630
lesha_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С вопросом о длине строки в Run только что столкнулся. Запустил команду на реальном примере (длина строки довольно длинная -считать лень одним словом больше чем можно)
Так что третий вопрос (см. верх топика) волнует уже всерьез.
...
Рейтинг: 0 / 0
запуск .exe
    #32480654
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. Команда RUN - это все-таки DOS-команда. А у любой DOS-команды установлен предел в 255 символов.

Сократить длину команды можно за счет смены директории по умолчанию (команда CD), тогда не надо будет писать путь доступа.

3. Сделай поиск по такой API-функции RunAndWait()
...
Рейтинг: 0 / 0
запуск .exe
    #32480719
lesha_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал два варианта:
1.Такой вариант все ОК
DECLARE integer WinExec IN kernel32 string lpCmdLine, integer nCmdShow
WinExec("C:\Program Files\Common Files\Microsoft Shared\PhotoEd\PhotoEd.exe c:\imagelist\1.jpg", 10)

2. Нашел пример в форуме:
DECLARE Integer RunAndWait in Tools String, Integer
strarch = "vfp.exe"
lcVerWin = os()
If 'NT' $ lcVerWin or '5.0' $ lcVerWin or '5.1' $ lcVerWin
strfoxrun = 'cmd.exe'
Else
strfoxrun = 'foxrun.pif'
Endif
Run_Wait=RunAndWait('&strfoxrun /C &strarch',1)

Ошибка: Cannot load 32-bit DLL tools
Что это? Как правильно?
...
Рейтинг: 0 / 0
запуск .exe
    #32480748
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DECLARE Integer RunAndWait in Tools String,
Библа тоолза должна лежать в текущей директории

В проверке на версии лучше не уператься...
Лучше на наличее файл cmd в sys папке
IF !FILE(GETENV('WINDIR') + '\SYSTEM\cmd.exe') AND !FILE(GETENV('WINDIR') + '\SYSTEM32\cmd.exe')
strfoxrun = 'foxrun.pif'
ELSE
strfoxrun = 'cmd.exe'
ENDIF

foxrun.pif - Тоже должен лежать в текущей папке...

Удачи...
...
Рейтинг: 0 / 0
запуск .exe
    #32480969
lnu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> DECLARE Integer RunAndWait in Tools String,
> Библа тоолза должна лежать в текущей директории

Ну и, конечно, должна существовать :)
В "решениях" на FoxClub.ru можеш скачать Tools.dll
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запуск .exe
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]