Главная страница
    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.46 MB
Время: 0.054 c
3-1134668694
parasolka
2005-12-15 20:44
2006.02.12
Удаление записей.


11-1119341023
RA
2005-06-21 12:03
2006.02.12
Обработка сообщений в Graph-контролах


1-1136634959
Zoidberg
2006-01-07 14:55
2006.02.12
Как изменить позицию элемена в TListView


9-1121918797
Trof
2005-07-21 08:06
2006.02.12
ODE и Freeform


15-1137888957
lookin
2006-01-22 03:15
2006.02.12
Стишок... Кто автор (без google)?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский