Criar atalho na area de trabalho via delphi
11/12/2003
0
Primeiramente olá para todos,
Alguem aqui do forúm teria uma função de como criar um atalho na area de trabalho??? Vai servir em um programa que eu mesmo desenvolvi para instalação de software e pintou esta dúvida, se alguém souber será de grande ajuda.
Obrigado desde já.
Alguem aqui do forúm teria uma função de como criar um atalho na area de trabalho??? Vai servir em um programa que eu mesmo desenvolvi para instalação de software e pintou esta dúvida, se alguém souber será de grande ajuda.
Obrigado desde já.
Nuk
Curtir tópico
+ 0
Responder
Posts
11/12/2003
Maicongabriel
[b:792facc42a]Criar atalho no desktop[/b:792facc42a]
Coloque essas units na seção implementation :
Por último, crie uma procedure que faça o trabalho:
[i:792facc42a]retirado do TDDelphi - Dica 348[/i:792facc42a]
Coloque essas units na seção implementation :
uses ShlObj, ActiveX,ComObj, Registry;
Por último, crie uma procedure que faça o trabalho:
procedure CreateShortcut (FileName, Parameters, InitialDir, ShortcutName, ShortcutFolder : String); var MyObject : IUnknown; MySLink : IShellLink; MyPFile : IPersistFile; Directory : String; WFileName : WideString; MyReg : TRegIniFile; begin MyObject := CreateComObject(CLSID_ShellLink); MySLink := MyObject as IShellLink; MyPFile := MyObject as IPersistFile; with MySLink do begin SetArguments(Parameters); SetPath(PChar(FileName)); SetWorkingDirectory(PChar(InitialDir)); end; MyReg := TRegIniFile.Create(´Software\MicroSoft\Windows\CurrentVersion\Explorer´); Directory := MyReg.ReadString (´Shell Folders´,´Desktop´,´´); WFileName := Directory + ´\´ + ShortcutName + ´.lnk´; MyPFile.Save (PWChar (WFileName), False); MyReg.Free; end;
[i:792facc42a]retirado do TDDelphi - Dica 348[/i:792facc42a]
Responder
04/10/2016
Fábio Sela
// Foi necessário reajustar o código para funcionar;
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
Directory : String;
FileName : String;
InitialDir : String;
ShortcutName : String;
Parameters : PWideChar;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetArguments(Parameters);
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(InitialDir));
end;
MyReg := TRegIniFile.Create('Software\\MicroSoft\\Windows\\CurrentVersion\\Explorer');
Directory := MyReg.ReadString ('Shell Folders','Desktop','');
WFileName := Directory + '\\' + ShortcutName + '.lnk';
MyPFile.Save (PWChar (WFileName), False);
MyReg.Free;
end;
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
Directory : String;
FileName : String;
InitialDir : String;
ShortcutName : String;
Parameters : PWideChar;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetArguments(Parameters);
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(InitialDir));
end;
MyReg := TRegIniFile.Create('Software\\MicroSoft\\Windows\\CurrentVersion\\Explorer');
Directory := MyReg.ReadString ('Shell Folders','Desktop','');
WFileName := Directory + '\\' + ShortcutName + '.lnk';
MyPFile.Save (PWChar (WFileName), False);
MyReg.Free;
end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)