Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.024 c
11-1118222497
Leonid
2005-06-08 13:21
2006.02.12
Плавающая панель инструментов


15-1138184621
Харько
2006-01-25 13:23
2006.02.12
help файл для MEMProof


15-1136730093
Kerk
2006-01-08 17:21
2006.02.12
Видел только что НЛО.


1-1137350002
Gnobobel
2006-01-15 21:33
2006.02.12
Вызов функций EXE из DLL


2-1137997680
Антон1209
2006-01-23 09:28
2006.02.12
Excel




   Наверх