Вниз
Скачать: CL | DM;

Что запустит ShellExecute?   Найти похожие ветки 

 
Borealis   (2003-08-11 23:30) [0]

ShellExecute, конечно замечательная функция, но перед её использованием хотелось бы выяснить какой исполняемый файл (вмете с путём) будет ею запущен. Функция FindExecutable почему то не всегда знает ответ на этот вопрос.
Примеры:
1) ShellExecute(0, nil, "calc.exe", nil, nil, SW_NORMAL) запускает калькулятор;
функция FindExecutable правильно говорит что будет запущен "E:\WINNT\System32\calc.exe"

2) ShellExecute(0, nil, "D:\test.txt", nil, nil, SW_NORMAL) запускает блокнот;
функция FindExecutable правильно говорит что будет запущен "E:\WINNT\system32\NOTEPAD.EXE"

3) ShellExecute(0, nil, "iexplore.exe", nil, nil, SW_NORMAL) запускает IE;
функция FindExecutable не в курсе событий :(


 
Palladin ©   (2003-08-11 23:44) [1]

видимо ничего и не запустит


 
Borealis   (2003-08-11 23:58) [2]


> Palladin © (11.08.03 23:44) [1]
> видимо ничего и не запустит
??? Это о чём? Если о третьем примере, то ShellExecute запускакт IE, а вот FindExecutable возвращает пустую строку :(

ps. Функцию FindExecutable я завренул в "оболочку" (просто не люблю возиться с типом PChar) может здесь ошибка (хотя думаю врядли)?
function AFindExecutable(FileName, Directory: String): String;
var
buf: PChar;
begin
GetMem(buf, MAX_PATH + 1);
FindExecutable(pchar(FileName), pchar(Directory), buf);
SetString(Result, buf, StrLen(buf));
FreeMem(buf);
Result := Trim(Result);
end;


 
Borealis   (2003-08-13 20:28) [3]

Тоесть без копания в реестре никак не обойтись?



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.014 c
1-81670
sewix
2003-08-11 18:57
2003.08.25
TRichEdit Scroll


14-81876
Study
2003-08-07 11:23
2003.08.25
Skins


1-81838
SergP
2003-08-13 12:43
2003.08.25
Как проверить создан ли объект?


4-82005
Виталий22
2003-06-21 12:27
2003.08.25
Управление другим приложением


1-81664
ХМЛ-щик
2003-08-08 14:53
2003.08.25
XPath. Как разрулить между двойными и одинарными кавычками?




   Наверх