Skocz do zawartości

Ishelllink i jego obsługa


Quad

Recommended Posts

W pomocy WinAPI i pod adresem https://www.codeproject.com/shell/create_shortcut.asp znalazłem kod, jak tworzyć skrót do pliku. Niestety, za nic nie mogę tego skompilować.... dołączam <shlobj.h> ale ciągle nic. Pewnie chodzi o te obiekty COM, ale ja o nich kompletnie nie mam pojęcia ;) ....

Czy ktoś może mi w jakiś sposób pomóc?

Link do komentarza
Udostępnij na innych stronach

gotowiec w delphi zciagniety z internetu:

uses  ShlObj, ActiveX, ComObj, Registry;

procedure TForm1.Button1Click(Sender: TObject);
var  MyObject:IUnknown;
     MySLink:IShellLink; 
     MyPFile:IPersistFile;  
     FileName:String;
     Directory:String;  
     WFileName:WideString;  
     MyReg:TRegIniFile;
begin
 MyObject:=CreateComObject(CLSID_ShellLink);
 MySLink:=MyObject as IShellLink;  
 MyPFile:=MyObject as IPersistFile;
 FileName:='NOTEPAD.EXE';  
 with MySLink do 
 begin
  SetArguments('C:\AUTOEXEC.BAT');    
  SetPath(PChar(FileName));
  SetWorkingDirectory(PChar(ExtractFilePath(FileName)));  
 end;

 MyReg := TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer');

 // Poniższe dodaje skrót do desktopu
 Directory := MyReg.ReadString('Shell Folders','Desktop','');

 // A to do menu Start
 //  Directory := MyReg.ReadString('Shell Folders','Start Menu','')+
 //      '\Whoa!';//  CreateDir(Directory);

 WFileName := Directory+'\FooBar.lnk';  
 MyPFile.Save(PWChar(WFileName),False);
 MyReg.Free;
end;
Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...