Fórum Área de trabalho #164018
01/06/2003
0
Por favor!
(conta Desativada)
Curtir tópico
+ 0Posts
02/06/2003
Nildo
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;
Gostei + 0
28/10/2005
Vagner.oliveira
da erro ao compilar o programa:
[b]SetArguments(Parameters); [/b] --> incompatible types String and PChar
Gostei + 0
28/10/2005
Rômulo Barros
SetArguments(PAnsiChar(Parameters));
ou
SetArguments((Parameters As PAnsiChar));
:wink:
Gostei + 0
04/11/2005
Vagner.oliveira
SetArguments(PAnsiChar(Parameters));
ou
SetArguments((Parameters As PAnsiChar));
:wink:[/quote:80de75d028]
e onde que eu coloco o comando para que crie o atalho :?:
Gostei + 0
04/11/2005
Vitor Rubio
SetArguments(Parameters);
vc poe:
SetArguments(pansichar(Parameters));
assim vc pode passar os parametros como string, não precisa pchar. Se as outras variáveis também forem pchar faça a mesma coisa, eu não lembro se era.
Para criar o atalho, use:
CreateShortcut (<nome do arquivo pro qual vc quer fazer atalho>, <parametros de execução do atalho>, <diretorio inicial do progr do atalho>, <nome do atalho>, <onde ficará o atalho>); Já usei essa procedure antes, se eu não me engano é assim ^^ espero ter ajudado!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)