Форум: "Основная";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];
ВнизЧто запустит 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c