![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск приложений [D7, WinXP]
luser © (2006-01-24 12:05:00)Доброго времени суток. Как мне запустить программу из %systemroot% как можно проще.
Leonid Troyanovsky (2006-01-24 14:50:00) [1]
> kukuikar © (24.01.06 14:36) [5]
> ShellExecute(
ShellExecuteEx with SEE_MASK_DOENVSUBST
--
Regards, LVT.
DiamondShark (2006-01-24 14:44:00) [2]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;
странно... работает.
может, просто нотепада в папке нет?
;)
kukuikar (2006-01-24 14:43:00) [3]например так:
var
WinDir: array [ 0..255 ] ofСhar;
path: String;
begin
GetWindowsDirectory(WinDir,255);
path := StrPas(WinDir);
...
end;
kukuikar (2006-01-24 14:39:00) [4]
> kukuikar © (24.01.06 14:36) [5]
неправильно.
Путь к папке Windows ищи через GetWindowsDirectory.
%SYSTEMROOT% не будет работать!
DiamondShark (2006-01-24 14:37:00) [5]
> А GetwindowsDir выдает мне системную папку но добавить к
> ней путь исполняемого файла мне что-то не удается.
Да, путь и имя файла -- это такие заколдованные строки, которые в принципе нельзя соединить. ;)
Код и результат исполнения где?
На "что-то не удаётся" можно ответить только "значит что-то неправильно".
kukuikar (2006-01-24 14:36:00) [6]ShellExecute(
handle,//hande
'open',//команда открыть
'notepad.exe',//запускаемый файл
nil,параметры запуска файла
'%SYSTEMROOT%',папка откуда запускать, может быть nil, если в файле есть путь
SW_SHOWNORMAL
);.
Назабудь добавить в usesюнит ShellApi.
luser (2006-01-24 14:18:00) [7]Когда пишу Winexec('%systemroot%\notepad.exe',1) Ничего не происходит. А GetwindowsDir выдает мне системную папку но добавить к ней путь исполняемого файла мне что-то не удается.
kukuikar (2006-01-24 13:54:00) [8]
> CreateProcess
>
> Последнее - предпочтительнее
А не делает ли
> ShellExecute
то же самое только более простым путем.
Может для автора этого вопроса более предпочтительнее как раз ShellExecute или даже winExec
Ega23 (2006-01-24 13:14:00) [9]winExec
ShellExecute
CreateProcess
Последнее - предпочтительнее
Digitman (2006-01-24 13:08:00) [10]Приведи уже знакомые тебе способы запуска программы, которые кажутся излишне сложными ..