Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Запуск приложений   Найти похожие ветки 

 
luser   (2006-01-24 12:05) [0]

Доброго времени суток. Как мне запустить программу из %systemroot% как можно проще.


 
Digitman ©   (2006-01-24 13:08) [1]

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


 
Ega23 ©   (2006-01-24 13:14) [2]

winExec
ShellExecute
CreateProcess

Последнее - предпочтительнее


 
kukuikar ©   (2006-01-24 13:54) [3]


> CreateProcess
>
> Последнее - предпочтительнее


А не делает ли
> ShellExecute
то же самое только более простым путем.

Может для автора этого вопроса более предпочтительнее как раз ShellExecute или даже winExec


 
luser   (2006-01-24 14:18) [4]

Когда пишу Winexec("%systemroot%\notepad.exe",1) Ничего не происходит. А GetwindowsDir выдает мне системную папку но добавить к ней путь исполняемого файла мне что-то не удается.


 
kukuikar ©   (2006-01-24 14:36) [5]

ShellExecute(
handle,//hande
"open",//команда открыть
"notepad.exe",//запускаемый файл
nil,параметры запуска файла
"%SYSTEMROOT%",папка откуда запускать, может быть nil, если в файле есть путь
SW_SHOWNORMAL
);.

Назабудь добавить в uses юнит ShellApi.


 
DiamondShark ©   (2006-01-24 14:37) [6]


> А GetwindowsDir выдает мне системную папку но добавить к
> ней путь исполняемого файла мне что-то не удается.

Да, путь и имя файла -- это такие заколдованные строки, которые в принципе нельзя соединить. ;)

Код и результат исполнения где?
На "что-то не удаётся" можно ответить только "значит что-то неправильно".


 
kukuikar ©   (2006-01-24 14:39) [7]


> kukuikar ©   (24.01.06 14:36) [5]

неправильно.

Путь к папке Windows ищи через GetWindowsDirectory.
%SYSTEMROOT% не будет работать!


 
kukuikar ©   (2006-01-24 14:43) [8]

например так:

var
WinDir: array [ 0..255 ] of Сhar;
path: String;
begin
GetWindowsDirectory(WinDir,255);
path := StrPas(WinDir);
...
end;


 
DiamondShark ©   (2006-01-24 14:44) [9]

procedure TForm1.Button1Click(Sender: TObject);
var
 Dir: packed array[byte] of char;
begin
 Win32Check( GetWindowsDirectory(Dir, SizeOf(Dir)) > 0);
 WinExec(PChar(Dir+"\notepad.exe"), SW_SHOWNORMAL);
end;

странно... работает.

может, просто нотепада в папке нет?
;)


 
Leonid Troyanovsky ©   (2006-01-24 14:50) [10]


> kukuikar ©   (24.01.06 14:36) [5]
> ShellExecute(


ShellExecuteEx with SEE_MASK_DOENVSUBST

--
Regards, LVT.



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

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
15-1137880245
lookin
2006-01-22 00:50
2006.02.12
Как по вашему, Кайли Миноуг хорошая певица?


2-1138071002
555
2006-01-24 05:50
2006.02.12
Открытие файла Word


6-1131316062
SergProger
2005-11-07 01:27
2006.02.12
Копирование файла с сервера


8-1125307088
SuSanin
2005-08-29 13:18
2006.02.12
анализ отсканированного изображения


4-1133045302
Volf_555
2005-11-27 01:48
2006.02.12
Как завершить процесс, зная откуда он запущен?