Parsi Coders
قرار گیری برنامه در Starts Up دلفی - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Pascal/Delphi (http://parsicoders.com/forumdisplay.php?fid=45)
+---- انجمن: Delphi (http://parsicoders.com/forumdisplay.php?fid=69)
+---- موضوع: قرار گیری برنامه در Starts Up دلفی (/showthread.php?tid=1465)



قرار گیری برنامه در Starts Up دلفی - Amin_Mansouri - 01-10-2012

This article will show you how to make your application to be able automatically load when Windows is on starts up.

کد :

کد:
/This simple code will show you how to make your application automatically
/loaded when Windows starts. In example, I use one of my application, that
/is XSYS.exe, which I put in Windows directory to be able automatically
/loaded on Windows starts up. You can do this manually by editing your
/registry using regedit, but you can also use the code below. Its main
/argument is just like this :
/   var reg : tregistry;
/    name,application_path : string
/ Syntax :
/    reg.writestring(name,application_path);
/ For more informantion, visit us at geocities.com/ekapujiw2002
/Thank you  

.....................
implementation
.............

procedure TForm1.FormCreate(Sender: TObject);
var reg:tregistry;
begin
reg:=tregistry.Create; /create registry entry
reg.RootKey:= hkey_local_machine; /sets the root key
reg.OpenKey('software\microsoft\windows\currentversion\run',true); /open the key
reg.WriteString('Hacked','c:\windows\XSYS.exe'); /write a command string to be added to the key
reg.Free; /free up the registry entry
end;



RE: قرار گیری برنامه در Starts Up دلفی - Amin_Mansouri - 01-10-2012

کد:
unit Unit1;

interface

uses
  Windows, Registry, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    StaticText1: TStaticText;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
procedure RunOnStartup(sProgTitle,sCmdLine: string;bRunOnce    : boolean );
var
  sKey : string;
  reg  : TRegIniFile;
begin
  if( bRunOnce )then
    sKey := 'Once'
  else
    sKey := '';

  reg := TRegIniFile.Create( '' );
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.WriteString(
    'Software\Microsoft'
    + '\Windows\CurrentVersion\Run'
    + sKey + #0,
    sProgTitle,
    sCmdLine );
  reg.Free;
end;
//Usage:


//sProgTitle:
//Name of your program. Generally speaking, this could be anything you want.
//sCmdLine:
//This is the full path name to your executable program.
//bRunOnce:
//Set this to True if you want to run your program just once.
//If this parameter is False, specified program will be
//executed every time Windows starts up.



procedure TForm1.FormCreate(Sender: TObject);
begin
RunOnStartup(
  'Hello',
  'c:\hello\Hello.exe',
  False);
end;

end.



RE: قرار گیری برنامه در Starts Up دلفی - Amin_Mansouri - 01-10-2012

Run Program On Startup (Registry)
کد:
                
!**************************************
! Name: Run Program On Startup (Registry)
! Description:Places your program in the Windows Registry so it will run at startup.
! By: CrAcKeR
!
!This code is copyrighted and has! limited warranties.Please see http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=144&lngWId=7!for details.!**************************************

// Place registry in your USES
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, registry, StdCtrls;
// This is the procedure (False means remove, True means create)
procedure RunOnStartup(sProgTitle, sCmdLine: string; bStartup: boolean );
var
sKey: string;
reg : TRegIniFile;
begin
sKey := ''; //sKey := 'Once' if you wish it to only run on the next time you startup.
if bStartup = false then //If value passed is false, then value deleted from Registry.
begin
try
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.DeleteKey(
'Software\Microsoft'
+ '\Windows\CurrentVersion\Run'
+ sKey + #0,
sProgTitle);
reg.Free;
exit;
except //Using Try Except so that if value can not be placed in registry, it
//will not give and error.
end;
end;
try
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString(
'Software\Microsoft'
+ '\Windows\CurrentVersion\Run'
+ sKey + #0,
sProgTitle,
sCmdLine );
reg.Free;
except
end;
end;