tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
716
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Nohh
    Nohh Nohh ist offline Mitglied Gold
    Registriert seit
    May 2004
    Ort
    Berlin
    Beiträge
    236
    Hallo, ich habe folgenden Code, um in die Registry zuschreiben, allerdings beim Kopiervorgang hagt es und er sagt wenn ich auf C:\testy.exe gehe - Datei kann nicht erstellt werden, der Prozess kann nicht auf die Datei zugreifen.....

    folgender Delphi Code: (die Desktop Datei erstellt er auch nicht mehr )
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        procedure FormCreate(Sender: TObject);
      private
        { Private-Deklarationen }
      public
        { Public-Deklarationen }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
    uses
      Registry;
     
    procedure SetAutoStart(AppName, AppTitle: string; bRegister: Boolean);
    const
      RegKey = '\Software\Microsoft\Windows\CurrentVersion\Run';
      // or: RegKey = '\Software\Microsoft\Windows\CurrentVersion\RunOnce';
    var
      Registry: TRegistry;
    begin
      Registry := TRegistry.Create;
      try
        Registry.RootKey := HKEY_LOCAL_MACHINE;
        if Registry.OpenKey(RegKey, False) then
        begin
          if bRegister = False then
            Registry.DeleteValue('lol-ytest')
          else
            Registry.WriteString('lol-ytest', 'C:\testy.exe');
        end;
      finally
        Registry.Free;
      end;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    var
      reg: TRegistry;
    var
      dateistream : TMemoryStream;
    var  regist: TRegistry;
         time : string;
    begin
     
      dateistream := TMemoryStream.Create;
      dateistream.LoadFromFile(application.Exename);
      dateistream.SaveToFile('C:\testy.exe');
      dateistream.Free;
    SetAutoStart(ParamStr(0), 'lol-ytest', True);
    end;
     
    end.

    Bitte um Hilfe

    Gruß
    Nohh
     

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    441
    So auf Anhieb weiß ich nicht genau, was du mit dem Source machen willst, ist alles etwas undurchsichtig. Aber hat das Programm unter dem angemeldeten Windows-Account überhaupt Schreibzugriff auf HKEY_LOCAL_MACHINE? Wenn dein Programm unter einem eingeschränkten Useraccount läuft, könnte das bereits ein Problem darstellen.
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 21.08.10, 14:30
  2. Datei kann nicht gefunden werden
    Von Sylvie10 im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 01.07.10, 10:53
  3. Antworten: 3
    Letzter Beitrag: 20.03.10, 16:31
  4. [VC++.NET] Registry Eintrag kann nicht gelöscht werden
    Von the incredible Leitman im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 23.01.07, 22:15
  5. CDONTS Objekt kann nicht erstellt werden
    Von KikiDieNieWasWeiss im Forum ASP
    Antworten: 1
    Letzter Beitrag: 20.04.04, 11:24