Pô pessoal, que preguiça de pensar hein ... 

Nunca precisei fazer esse tipo de teste, mas para não dizer que não tenho boa 
vontade aí vai o código.
Nesse exemplo verifico se existe o atalho para o "Notepad" no desktop.

obs: caso não fique claro, o evento abaixo é de um botão que coloquei num form 
... lol

procedure TForm1.Button1Click(Sender: TObject);
var MyReg : TRegIniFile;
    Directory : string;
begin
  MyReg := 
TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer');
  Directory := MyReg.ReadString ('Shell Folders','Desktop','');
  MyReg.Free;
  if FileExists(Directory + '\Notepad.lnk') then begin
    ShowMessage('existe');
  end else begin
    ShowMessage('não existe');
  end;
end;

E acho que tu não leu o que eu coloquei no final do meu post anterior:
"Para verificar se já existe o atalho basta abrir o registro na chave que
 aparece no exemplo e ver se já existe a entrada."


Como já disse outras vezes, prefiro sempre incentivar o "pensamento" ao invés 
de dar o "peixe na mão".
Não me leve a mal cara, mas essa era muito fácil de resolver.


Alessandro DUARTE de Moraes
A.C. Santa Casa do Rio Grande.
http://www.santacasarg.com.br

  ----- Original Message ----- 
  From: Fellipe Henrique 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, March 26, 2008 10:24 AM
  Subject: Re: [delphi-br] Como saber se existe um atalho no desktop, caso nao 
exista criar um?


  Bom Alessandro, acho que voce não entendeu a minha mensagem..

  "Olá amigos, preciso verificar se existe um atalho no desktop para meu
  programa, caso nao exista criar um. Bom, já tenho a função pra criar, o
  problema está em saber se existe ou não o atalho."

  O que eu não estou conseguindo fazer, é como descobrir se o atalho já foi
  criado, para que eu não fique criando ele toda hora..

  []s

  Em 26/03/08, Alessandro DUARTE de Moraes <[EMAIL PROTECTED]>
  escreveu:
  >
  > Mais uma vez o Google resolve. Procure por "delphi criar atalho"
  >
  > Uma das soluções aparece assim:
  >
  > //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;
  >
  > Para verificar se já existe o atalho basta abrir o registro na chave que
  > aparece no exemplo e ver se já existe a entrada.
  >
  > Alessandro DUARTE de Moraes
  > A.C. Santa Casa do Rio Grande.
  > http://www.santacasarg.com.br
  >
  >
  > ----- Original Message -----
  > From: Fellipe Henrique
  > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
  > Sent: Wednesday, March 26, 2008 9:14 AM
  > Subject: [delphi-br] Como saber se existe um atalho no desktop, caso nao
  > exista criar um?
  >
  > Olá amigos, preciso verificar se existe um atalho no desktop para meu
  > programa, caso nao exista criar um. Bom, já tenho a função pra criar, o
  > problema está em sabe se existe ou não o atalho.
  >
  > Alguem poderia me ajudar?
  >
  > Desde já agradeço
  >
  > []s
  >
  > --
  > _________________________________
  > T.·.F.·.A.·.
  > Fellipe Henrique
  > [EMAIL PROTECTED] <fellipeh%40gmail.com>
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > --------------------------
  > E-mail Seguro Vetorial.net
  >
  > Mensagem classificada como NÃO-SPAM. Para classificar como SPAM,
  > encaminhe para [EMAIL PROTECTED] <spam%40vetorial.net>
  >
  > Chave de Identificação: 54568,47ea3ea6129279797615144
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 
  >

  -- 
  _________________________________
  T.·.F.·.A.·.
  Fellipe Henrique
  [EMAIL PROTECTED]

  [As partes desta mensagem que não continham texto foram removidas]



   
  -------------------------- 
  E-mail Seguro Vetorial.net 

  Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, 
  encaminhe para [EMAIL PROTECTED] 

  Chave de Identificação: 54568,47ea5b48137831318817097 


[As partes desta mensagem que não continham texto foram removidas]

Responder a