Вниз
Скачать: 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.042 c
2-1146745006
olevacho_
2006-05-04 16:16
2006.05.21
формат данных для TiDHTTP.POST


15-1146061971
Yanis
2006-04-26 18:32
2006.05.21
Может и баян, но улыбнуло


2-1146724155
Мурзилка
2006-05-04 10:29
2006.05.21
выпадающее меню у кнопки ToolButton1


2-1146589846
except
2006-05-02 21:10
2006.05.21
Открыть с помощью...


2-1146853003
I like it
2006-05-05 22:16
2006.05.21
азы




   Наверх