Вниз
Скачать: 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.027 c
3-1134659156
Виталий Панасенко
2005-12-15 18:05
2006.02.12
Портирование кода с BDE на ADO


15-1138119168
Pazitron_Brain
2006-01-24 19:12
2006.02.12
Помогите зарегистрировать домен


2-1138129163
asd
2006-01-24 21:59
2006.02.12
Время создания файла


6-1129105959
Дмитрий_05
2005-10-12 12:32
2006.02.12
Прервать выполнение функции RasDial


2-1138213379
guitarist
2006-01-25 21:22
2006.02.12
Обработка события




   Наверх