Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

как можно получить информацию о выполняемом файле по 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 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
1-1106303408
Alexandr
2005-01-21 13:30
2005.02.13
заполнение Tpopup в runtime


6-1101925972
snake176
2004-12-01 21:32
2005.02.13
передача объекта Tstrings от сервера клиенту


1-1106747451
mmms
2005-01-26 16:50
2005.02.13
Мастера, подскажите, как удалить строку из StringGrid


1-1106821362
Жека
2005-01-27 13:22
2005.02.13
Динамическое создание компонент


4-1103720159
мазербо)
2004-12-22 15:55
2005.02.13
Как узнать ID материнской платы?