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]