Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Параметры функции ShellExecute()

24K
22 февраля 2007 года
Nucleu$
3 / / 22.02.2007
Возникла проблема запуска приложения с параметрами
ShellExecute(hInstance,"open","C:/Windows/system32/java.exe -jar Java2Demo.jar", NULL, NULL, SW_SHOWNORMAL);

Причем функция запускает приложение без доп параметров
(ShellExecute(hInstance,"open","C:/Windows/system32/java.exe", NULL, NULL, SW_SHOWNORMAL);),
а как заставить выполнять с параметрами?:confused:
461
24 февраля 2007 года
gerard
102 / / 20.12.1999
Попробуйте так:
ShellExecute(hInstance,"open","C:/Windows/system32/java.exe",
"-jar Java2Demo.jar", NULL, SW_SHOWNORMAL);
24K
24 февраля 2007 года
Nucleu$
3 / / 22.02.2007
О! пашет! Спасиба, не о у меня под рукой ни мануала небыло, ничего...
THX!
А за что отвечает 5-й параметр (указатель NULL перед SW_...)????
257
24 февраля 2007 года
kosfiz
1.6K / / 18.09.2005
пятый параметр отвечает за то, как будет показано окно программы после запуска. может быть: скрыто, показано как обычно, свернуто и т.д. все параметры в msdn.
334
26 февраля 2007 года
HexEdit
809 / / 27.07.2006
Цитата: kosfiz
пятый параметр отвечает за то, как будет показано окно программы после запуска. может быть: скрыто, показано как обычно, свернуто и т.д. все параметры в msdn.


Не - пятый параметр определяет рабочую директорию приложения, если NULL то используется текущая директория того процесса, который запускает.
А как показано - это какраз SW_..., шестой

257
26 февраля 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=HexEdit]Не - пятый параметр определяет рабочую директорию приложения, если NULL то используется текущая директория того процесса, который запускает.
А как показано - это какраз SW_..., шестой[/quote]
точно: обсчитался:)
257
26 февраля 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=HexEdit]Не - пятый параметр определяет рабочую директорию приложения, если NULL то используется текущая директория того процесса, который запускает.
А как показано - это какраз SW_..., шестой[/quote]
согласен. за предыдущее сообщение прошу прощение: обсчитался:)
30K
04 октября 2007 года
dan_is
1 / / 19.06.2007
если тебе надо выполнить например следующее:

Rar.exe a -m5 -df ProjectMain.exe.rar ProjectMain.exe

то, shellexecute будет выглядить так
ShellExecute(Self.Handle,nil,'RAR.exe', 'a -m5 -df ProjectMain.exe.rar ProjectMain.exe', nil, SW_HIDE);
:)
334
04 октября 2007 года
HexEdit
809 / / 27.07.2006
dan_is, на даты смотришь?
18K
07 ноября 2007 года
Lienn
4 / / 27.04.2006
а подскажите, можно как-нибудь с помощью этой функции откомпилировать файл?
240
07 ноября 2007 года
aks
2.5K / / 14.07.2006
))
Точно так же вызвать копилятор и предать ему файл параметром.
Главное чтоб компиялтор умел в с консоли компилировать (ну это большинство умеют) и знать его опции. )
18K
07 ноября 2007 года
Lienn
4 / / 27.04.2006
ну можно поподробнее?..я просто нигде не могу найти какие параметры нужно писать))
261
07 ноября 2007 года
ahilles
1.5K / / 03.11.2005
можно вызвать программу (которая компилирует) с параметром /?
18K
07 ноября 2007 года
Lienn
4 / / 27.04.2006
хм...сорри конечно..но мне очень хочется чтобы кто-ньть конкретно написал как это делаецо)
261
07 ноября 2007 года
ahilles
1.5K / / 03.11.2005
компилирующих программ много!
ты лучше скажи, на чём программа написана, с попощью какого пакета ты собираешься компилировать?
18K
07 ноября 2007 года
Lienn
4 / / 27.04.2006
задача-то в чем...
у меня есть компилятор bcc32.exe и есть скажем файл 1.cpp который нада откомпилировать...
так вот что надо написать-то?..
48K
31 марта 2009 года
snet
1 / / 31.03.2009
а как с помощью shellexecute или winexec запустить ярлычек?
45K
01 апреля 2009 года
qpokyc
21 / / 27.03.2009
Цитата: snet
а как с помощью shellexecute или winexec запустить ярлычек?



Как напрямую не знаю, а вот используя cmd.exe
можно так (Delphi):

Цитата:

var
Comm: string;
begin
Comm := 'cmd /<c или k> "' + <адрес ярлыка> + ''';
WinExec(PChar(Comm), <1 или 0>);
end;



"c" в том случае, если нада закрыть консоль по завершении запуска, "k", если консоль надо оставить. Естественно, если параметр uCmdShow установить в 0, то "с" или "k" не имеет никакого значения. Все это не оказывает влияния на запуск ярлыка (мы запускаем cmd.exe, а он уже запускает ярлык).

Адрес ярлыка надо обрамить "" (на тот случай, если в нем есть пробелы). Исчо проводник не показывает расширения у ярлыков, однако оно у них есть и его надо дописать в конце - ".lnk"

Использовать "cmd" не совсем корректно, тк он может так не называться вовсе. Корректно - использовать значение переменной среды comspec, в качестве адреса командного интерпритатора. Правда, WinExec, почемуто, строку типа "%comspec%" не проглатывает((, хотя из батника нормально работает.

Исчо интересные наблюдения: я сегодня впервый раз узнал, что PChar(Str) и @Str - не всегда одно и тоже =)

28K
01 апреля 2009 года
Maximuz
29 / / 01.03.2008
Для программы мне необходимо подача динамической информации.
Статическая инф. типа ShellExecute(handle,'open',info/1.htm',nil,nil,SW_SHOW);- проходит.

Но вот такое выражение даёт ошибку:
ShellExecute(handle,'open',qst_data.info,nil,nil,SW_SHOW);
(qst_data.info='info/1.htm' - строка)

[Error] Unit2.pas(179): Incompatible types: 'String' and 'PAnsiChar'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit2.pas'


Вопрос: как этого избежать?
Заранее спасибо!
75K
19 сентября 2011 года
Sergj
1 / / 19.09.2011
Ну, блин, какие бывают проблемы с регистрацией..... А я если бы я был дальтоник?
По теме: Конечно, XP - уходящий поезд. Но по своим служебным обязанностям пришлось под XP программу на дельфи писать. Долго-долго я я боролся с ошибкой стадии исполнения 216. Потом в голову как молния ударила - никаких nil -ов, а всё указать явно. Не по умолчанию. Ошибка ИСЧЕЗЛА. Турбо дельфи 2006 Free / XP SP3 лицензия + обновления.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог