Вниз
Скачать: 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.025 c
2-1146828806
rol
2006-05-05 15:33
2006.05.21
Отчеты на Delphi 7


15-1145885422
Piter
2006-04-24 17:30
2006.05.21
Перестал работать поиск контактов в ICQ


2-1146811234
RomanH
2006-05-05 10:40
2006.05.21
Управление DBLookUpComboBox ом


1-1144745826
MiHoY
2006-04-11 12:57
2006.05.21
поиск дочернего окна


4-1140881371
Pit
2006-02-25 18:29
2006.05.21
My Computer




   Наверх