Вниз
Скачать: CL | DM;

Сделать аналогично Пуск -> Выполнить   Найти похожие ветки 

← →
Chaser ©   (2006-02-27 16:02) [0]

Есть ли у кого компонент или исходник программы аналогичной пункту меню в Windows: "Пуск" -> "Выполнить...".

Т.е. чтобы только с помощью одной командной строки (Edit например) запускались приложения ("calc"), программы с параметрами ("notepad c:\boot.ini"), файлы в связанном с ними приложении ("test.doc" - MS Word), папки ("c:\windows") и т.п.

   ShellExecute запускает все виды файлов, но для этого используются отдельно строка программы и строка с параметрами (ShellExecute(Handle,nil,"notepad","c:\boot.ini","",SW_SHOW);).

CreateProcess не открывает файлы в связанном с ними приложении ("test.doc" - MS Word), по крайней мере у меня это не вышло сделать.
   Есть решение?


← →
Eraser ©   (2006-02-27 16:23) [1]


> Chaser ©   (27.02.06 16:02)

алгоритм такой: сначала пробуешь CreateProcess"ом запустить, если не получается, то ShellExecute, если опять не получается, то сообщение об ошибке... хотя теоретически можно одним ShellExecute отбиться.


← →
Crash Coredump ©   (2006-02-27 16:30) [2]

Eraser ©   (27.02.06 16:23) [1]

Алгоритм такой - первое слово до пробела или табуляции считается именем приложения, все остальное - параметры


← →
Eraser ©   (2006-02-27 16:45) [3]


> Crash Coredump ©   (27.02.06 16:30) [2]

и что?


← →
Chaser ©   (2006-02-27 17:02) [4]


> Crash Coredump ©   (27.02.06 16:30) [2]
> Eraser ©   (27.02.06 16:23) [1]
>
> Алгоритм такой - первое слово до пробела или табуляции считается
> именем приложения, все остальное - параметры

А если в имени приложения есть пробел?


← →
Eraser ©   (2006-02-27 17:05) [5]


> Chaser ©   (27.02.06 17:02) [4]

в кавычки брать название тогда.


← →
Chaser ©   (2006-02-27 17:07) [6]


> Eraser ©

Геморно, нужно именно на подобии "Выполнить", где все пишется в одну строку без кавычек.


← →
Nick Denry ©   (2006-02-27 17:11) [7]

поиск с конца строки до нахождения последней последовательности символов ".exe"


← →
Chaser ©   (2006-02-27 17:17) [8]

А если .com, .bat и т.п.?
Слишком много условий получается, все не охватишь.


← →
Crash Coredump ©   (2006-02-27 17:18) [9]


> Геморно, нужно именно на подобии "Выполнить", где все пишется
> в одну строку без кавычек


run использует поиск от последнего символа \



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
3-1143272861
Serg1981
2006-03-25 10:47
2006.05.21
Имя поля в качестве параметра


2-1146315859
Volf_555
2006-04-29 17:04
2006.05.21
Как в строке заменить один слєш на 2 слєша?


2-1146665472
@gent
2006-05-03 18:11
2006.05.21
Как из edit вытащить дробное число ?


2-1146511238
Glex
2006-05-01 23:20
2006.05.21
Как считать строку из typed файла?


15-1145621375
Исследователь
2006-04-21 16:09
2006.05.21
Как VC++ перевести число в строку




   Наверх