Текущий архив: 2003.08.25;
Скачать: 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 вся ветка
Текущий архив: 2003.08.25;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.015 c