Форум: "KOL";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Внизкак можно получить информацию о выполняемом файле по LNK/PIF? Найти похожие ветки
← →
grumbler (2004-07-19 19:52) [0]Столкнулся с проблемой - надо каким-то макаром узнать реальное имя исполняемого файла, если есть только его линк. Никто с таким не сталкивался? может ртфм куда-нить отправите...
← →
Vladimir Kladov (2004-07-19 21:27) [1]Lnk.pas
← →
Ajax © (2004-07-19 23:12) [2]Вот, не помню где взял.
function GetInformationFromLink(LinkFileName:String;
var Path, WorkingDirectory, Arguments:string;
var HotKey: word; var ShowCMD: integer):boolean;
var
MyObject: IUnknown;
MySLink: IShellLink;
MyPFile: IPersistFile;
FileInfo: TWin32FINDDATA;
WidePath: array [0..MAX_PATH] of WideChar;
Buff: array [0..MAX_PATH] of Char;
begin
Result := false;
if not fileexists(Linkfilename) then exit;
CoInitialize(nil);
CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, MyObject);
MyPFile := MyObject as IPersistFile;
MySLink := MyObject as IShellLink;
StringToWideChar(LinkFileName, WidePath, SizeOf(WidePath));
MyPFile.Load(WidePath, STGM_READ);
MySLink.GetPath(Buff, Max_PATH, FileInfo, SLGP_UNCPRIORITY);
Path:=Buff;
MySLink.GetWorkingDirectory(Buff, Max_PATH);
WorkingDirectory:=Buff;
MySLink.GetArguments(Buff, Max_PATH);
Arguments:=Buff;
MySLink.GetHotkey(HotKey);
MySLink.GetShowCmd(ShowCMD);
Result:=true;
CoUninitialize;
end;
Зависимости вроде shlobj и activex.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c