ОБСУЖДЕНИЕ

Содержимое ярлыка

7 ответов 7,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Господа программисты, неужели никто не знает как посмотреть содержимое ярлыка не пользуясь объектом CommonDialog?

Помогите, пожалуйста!
 
Milashka

Можно.

Вот я на Delphi писал как-то.

Код:
// Обновление ярлыка для файла (запабликить)
function EditLink(LinkFileName:String; var Buff, Arg, Dir: string):boolean;
var
MyObject: IUnknown;
MySLink: IShellLink;
MyPFile: IPersistFile;
FileInfo: TWin32FINDDATA;
WidePath: array [0..MAX_PATH] of WideChar;
bBuff, bArg, bDir: array [0..MAX_PATH] of Char;
begin
Result := False;
if not fileexists(Linkfilename) then exit;
MyObject := CreateComObject(CLSID_ShellLink);
MyPFile := MyObject as IPersistFile;
MySLink := MyObject as IShellLink;
StringToWideChar(LinkFileName, WidePath, SizeOf(WidePath));
MyPFile.Load(WidePath, STGM_READ);
MySLink.GetPath(bBuff, Max_PATH, FileInfo, SLGP_UNCPRIORITY);
MySLink.GetArguments(bArg,MAX_PATH);
MySLink.GetWorkingDirectory(bDir, MAX_PATH);
Buff:=bBuff;
Arg:=bArg;
Dir:=bDir;
// MySLink.Get
Result := True;
end;

Если его не понятно - спращивай.

Тему я перенесу в Delphi.
 
Серёга

Спасибо вам огромное! Если можно, то задам пару вопросов...
 
Не могу, VB не работает с интерфейсами.

Очень жаль, а что нельзя просто перевести?
 
Milashka
Очень жаль, а что нельзя просто перевести?
что перевести?

глянь в гугле тогда :) Я вообще не очень люблю VB из за его ограниченности.
 
Вопрос в том, можно ли в VB сделать такое.
То есть можно ли в VB определить содержимое ярлыка?
Пожалуйста, киньте код, если не трудно, очень надо.
Зараннее благодарю.
 
Milashka
Если он не работает с интерфейсами то вряд-ли можно это сделать напрямую. Честно говря на MSDN код примерно такой, что привел и я только на C. Для VB там нет ничего.
 
Статус
Закрыто для дальнейших ответов.