Вниз
Скачать: 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.026 c
3-81575
Yuraz
2003-07-30 14:24
2003.08.25
Как подключить в ADOConnection UDL файл, но чтобы компонент


1-81836
sewix
2003-08-13 13:30
2003.08.25
Код комбинации клавиш «Ctrl+F»


1-81629
Spawn
2003-08-14 09:38
2003.08.25
Word


1-81641
Алексей Петухов
2003-08-12 13:46
2003.08.25
try except


14-81909
VEG
2003-07-25 19:23
2003.08.25
Сегодня протестировал устойчивость XP о полной!




   Наверх