Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Запуск приложений   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
15-1138025258
*Pavel
2006-01-23 17:07
2006.02.12
О TFT мониторах


3-1134726170
Dmitriy G.
2005-12-16 12:42
2006.02.12
Получение имение поля из запроса


1-1137227153
мух
2006-01-14 11:25
2006.02.12
Скорость выполнения операций


2-1137944438
PIF
2006-01-22 18:40
2006.02.12
работа с ресурсами


2-1137693586
Norm Iridium
2006-01-19 20:59
2006.02.12
Как мне перемешать последовательность (больше 256)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский