Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: C++/CLI mit .NET ::  Registry     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
virusscript24
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.02.2012
Beiträge: 55
Beitrag virusscript24 Mitglied 11:54:22 19.05.2012   Titel:   Registry            Zitieren

Ich hatte vor, bei meinem prog Sachen in der Registry zu speichern.
Ich kann auch Sachen im Pfad Current User abspeichern, aber wenn ich im pfad
Local System speichern will, (ich will mein prog in den autorun schreiben) dann macht der nix... :(
Hier der Codeausschnitt:
C++:
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
#include "stdafx.h"
#include <Windows.h>
#include <WinReg.h>
#include <iostream>
 
 
using namespace std;
using namespace System;
using namespace Microsoft::Win32;
 
int main(){
...
...
...
 
    RegistryKey^ rk;
rk  = Registry::CurrentUser->OpenSubKey("Software\\NewRegKey", true);
if (!rk)
{
Console::WriteLine("Failed to open CurrentUser/Software key");
return -1;
}
 
   
RegistryKey^ nk = rk->CreateSubKey("NewRegKey");
if (!nk)
{
Console::WriteLine("Failed to create 'NewRegKey'");
return -1;
}
 
String^ newValue = "NewValue";
try
{
rk->SetValue("NewKey3", newValue);
rk->SetValue("NewKey4", 44);
}
catch (Exception^)
{
Console::WriteLine("Failed to set new values in 'NewRegKey'");
return -1;
}
}


Ich hoffe, ihr könnt mir helfen.
(Falls ich falsch gepostet habe, dann bitte verschieben)

_________________
Wenn euch mein Name nicht gefällt, dann denkt euch an der Stelle xy97 oder so.
(Ich habe nämlich nicht vor, viren zu proggen & ich brauchte nen Namen, den noch niemand hat)
Doug_HH
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.09.2007
Beiträge: 531
Beitrag Doug_HH Mitglied 12:38:09 19.05.2012   Titel:              Zitieren

Moin, moin,

mal ohne Worte, einfach nur ein Code Beispiel...


C++/CLI:
1
2
3
4
5
6
7
8
RegistryKey^  reg;               
RegistryKey^  key;
                 
reg = Registry::CurrentUser->OpenSubKey("Software", true);
 
key = reg->CreateSubKey("Mein Programm");
 
key->SetValue("Hamburg","15.05.2012");


Gruß

Doug_HH

_________________
The next time you think you are perfect, try walking on water.
www.rb-softarticle.com
virusscript24
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.02.2012
Beiträge: 55
Beitrag virusscript24 Mitglied 12:51:53 19.05.2012   Titel:              Zitieren

Danke, ich werds probieren. :D
virusscript24
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.02.2012
Beiträge: 55
Beitrag virusscript24 Mitglied 13:02:09 19.05.2012   Titel:              Zitieren

Ok, ich hab den Code probiert und er funzt :live: ,
aber ich kann immer noch nicht in diesen Pfad schreiben:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run/ :(
(Es kommt ne Meldung, dass ich nicht berechtigt sei. :mad: )
Dann öffne ich die .exe aus dem Debug Ordner mit admin-rechten.
Kein Output, Meldung, Absturz, etc. Aber es geht nicht. :confused:

:warning: Der angeforderte Registrierungszugriff ist unzulässig.

Was mache ich falsch
Hier noch mal der veränderte Code:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
...
 
RegistryKey^  reg;                  
RegistryKey^  key;
//              Is das richtig so() es macht keinen Fehler...)                  
reg = Registry::/* => */LocalMachine /* <= */->OpenSubKey("Software", true);
 
key = reg->CreateSubKey("Mein Programm");
 
key->SetValue("Hamburg","15.05.2012");
 
...

_________________
Wenn euch mein Name nicht gefällt, dann denkt euch an der Stelle xy97 oder so.
(Ich habe nämlich nicht vor, viren zu proggen & ich brauchte nen Namen, den noch niemand hat)


Zuletzt bearbeitet von virusscript24 am 13:31:02 19.05.2012, insgesamt 2-mal bearbeitet
virusscript24
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.02.2012
Beiträge: 55
Beitrag virusscript24 Mitglied 13:54:27 19.05.2012   Titel:              Zitieren

Kann man Dateien in den Autorun auch mit diesem Pfad speichern:
HKEY_CURRENT_USER/Sowtware/Microsoft/Windows/Current_Version/Run/ ?
:arrow: Schon, oder (Bei mir sind da schon solche sachen drin)

_________________
Wenn euch mein Name nicht gefällt, dann denkt euch an der Stelle xy97 oder so.
(Ich habe nämlich nicht vor, viren zu proggen & ich brauchte nen Namen, den noch niemand hat)
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 12077
Beitrag Jochen Kalmbach Moderator 14:31:41 19.05.2012   Titel:              Zitieren

Ja, klar...

_________________
Greetings
Jochen
(Microsoft MVP VC++) My blog about Win32 and .NET: http://blog.kalmbach-software.de/ (deutsch)
virusscript24
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.02.2012
Beiträge: 55
Beitrag virusscript24 Mitglied 14:48:29 19.05.2012   Titel:              Zitieren

Ok, jetzt funzts :D , danke.

_________________
Wenn euch mein Name nicht gefällt, dann denkt euch an der Stelle xy97 oder so.
(Ich habe nämlich nicht vor, viren zu proggen & ich brauchte nen Namen, den noch niemand hat)
Doug_HH
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.09.2007
Beiträge: 531
Beitrag Doug_HH Mitglied 16:54:36 19.05.2012   Titel:              Zitieren

Was hattest Du falsch gemacht?

_________________
The next time you think you are perfect, try walking on water.
www.rb-softarticle.com
virusscript24
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.02.2012
Beiträge: 55
Beitrag virusscript24 Mitglied 19:12:46 19.05.2012   Titel:              Zitieren

Ich musste aus dem hier:

//Keys definieren
RegistryKey^ reg;
RegistryKey^ key;


C++:
key = reg->OpenSubKey("Microsoft\\Windows\\CurrentVersion\\Run");


Das hier machen:

C++:
key = reg->OpenSubKey("Microsoft\\Windows\\CurrentVersion\\Run" , true);



:arrow: So sieht der Code aus:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
 
using namespace Microsoft::Win32; //Für Registry-Eintrag
 
...
 
//Keys definieren
RegistryKey^  reg;          
RegistryKey^  key;
               
//Pfad öffnen
reg = Registry::CurrentUser->OpenSubKey("Software", true);
 
//Pfad erweitern
key = reg->OpenSubKey("Microsoft\\Windows\\CurrentVersion\\Run" , true);
 
//Unterschlüssel erstellen
//key = reg->CreateSubKey("Mein Programm");
 
//Wert setzen
key->SetValue("Mein Programm","blablabla");
 
...



P.S. Das Ganze is nicht für nen Virus xD

_________________
Wenn euch mein Name nicht gefällt, dann denkt euch an der Stelle xy97 oder so.
(Ich habe nämlich nicht vor, viren zu proggen & ich brauchte nen Namen, den noch niemand hat)


Zuletzt bearbeitet von virusscript24 am 11:21:54 20.05.2012, insgesamt 1-mal bearbeitet
c++.de :: C++/CLI mit .NET ::  Registry   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.