Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск приложений [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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо