W jaki sposób mogę dodać program do autostartu. Jeżeli to możliwe to nie chcę korzystać z Rejestru. Jeżeli zaś muszę to proszę podajcie nazwę klucza gdzie muszę to zrobić. :-(
"Ten Jedyny, by rządzić wszystkimi...
zobacz tu ... http://strony.wp.pl/wp/adrav/delfaq1.htm#28
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;
//plik do którego ma być zrobiony skrót
FileName:='NOTEPAD.EXE';
with MySLink do
begin
SetArguments(''); //tutaj można wpisać ewentualne parametry
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create('SoftwareMicroSoftWindowsCurrentVersionExplorer');
// Poniższe dodaje skrót do desktop'u
Directory := MyReg.ReadString('Shell Folders','Desktop','');
// A to do menu Start
Directory := MyReg.ReadString('Shell Folders','Start Menu','')+ 'ProgramyNowyKlucz';
CreateDir(Directory); // tworzenie katalogu jeśli potrzebny
//nazwa pod jaką ma być zapisany skrót
WFileName := Directory+'MIKROSOFT DOS.lnk';
MyPFile.Save(PWChar(WFileName),False);
MyReg.Free;
end;
//rejestr
uses
egistry
var
Reg : TRegistry;
procedure WriteToReg;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey(
'Software\Microsoft\Windows\CurrentVersion\Run', True);
Reg.WriteString('xxx', Application.ExeName);
Reg.CloseKey;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.