Regedit???

Tags:    c++ cloud big data nosql

<< < 12 > >>
Hej er der nogle der ved/kan fortælle mig eller give mig nogle guider på hvordan man skriver og læser til og fra registreringsbasen i c++???



11 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Du skal huske at en string er et objekt, ikke et array af char, og omvendt.
Det er det, som du roder rundt i med proxy og proxy2.
Derfor (jeg har lige tilladt mig at ændre proxy2's størrelse, da du jo alligevel kun bruger 2 bytes, en til mellemrum og en til null-terminering, hvilket ALTID bliver tilføjet, hvis du bruger "", så ved du det ;-)):
Fold kodeboks ind/udKode 


I øvrigt godtager mange compilere ikke void main (og resten burde egentlig ikke hvis de vil følge standarden, men de laver den da også selv om til int main ved kompilering), så du bør skrive int main og så også en return 0 til sidst.

Jeg har selv oplevet problemet ved at skifte compiler, så jeg vil bare forberede dig på, at hvis ikke du følger standarden, altså koder uden om de forskellige compileres genveje, så kan du hurtigt komme på overarbejde ;-)

1101110100010110000101000001

[Redigeret d. 02/03-05 23:25:54 af Nicolai Lyster Fersner]



C++ er operativsystem-uafhængigt, så jeg gætter på du mener ved hjælp af Win32 API'et (hmm, der er vel egentlig ikke andre muligheder med Windows' sikkerhedsforanstaltninger?)
Jeg har netop lavet en RegistryManager i dag, så jeg ved tilfældigvis hvordan :)
Sad for et par timer siden i dit sted, men ikke længe, for der er jo altid den kære gamle MSDN til at hjælpe.

Slå disse funktioner op på MSDN (brug Google, det første link er til MSDN's arkiv og det er 100x hurtigere end MSDN søgning):
RegCreateKeyEx
RegOpenKeyEx
RegQueryValueEx
RegSetValueEx

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry.asp

Mere behøver du faktisk ikke for at kunne tjekke om nøgler eksisterer, oprette nye nøgler, læser/skrive værdier osv.

1101110100010110000101000001

[Redigeret d. 02/03-05 20:55:49 af Nicolai Lyster Fersner]



Ok tak jeg vil prøve at kigge på dem!



Kan du ikke give mig et hurtigt eksempel hvor man skriver til en streng ved navn registrering i regedit???

#include <iostream.h>
#include <string.h>

void main(void)
{
string registrering;

//her skal den så skrive den ind i regedit i en sti jeg selv skal kunne udskifte!
}

Hvis du kan lave det ville jeg være glad :)




Kan du ikke give mig et hurtigt eksempel hvor man skriver til en streng ved navn registrering i regedit???

#include <iostream.h>
#include <string.h>

void main(void)
{
string registrering;

//her skal den så skrive den ind i regedit i en sti jeg selv skal kunne udskifte!
}

Hvis du kan lave det ville jeg være glad


Jo da, men du bør lære resten fra MSDN, for der står det hele tydeligt forklaret.

Fold kodeboks ind/udKode 


Dertil skal man så måske også lige tjekke om nøglen nu eksisterer osv. men alt det kan du læse dig til på MSDN.

Bemærk at jeg har udskiftet iostream.h og string.h med iostream og string, da iostream.h og string.h er uddaterede nu.

1101110100010110000101000001

[Redigeret d. 02/03-05 21:48:35 af Nicolai Lyster Fersner]



Ok jeg har lavet et program som ser sådan ud men får fejl:

ip.cpp:

Fold kodeboks ind/udKode 



fejl:

Fold kodeboks ind/udKode 


Hvad er der galt???



string proxy = 213.121.209.14:80;

Dette skal vel af alle mulige grunde være:

string proxy = "213.121.209.14:80";

I øvrigt skal du jo inkludere windows.h:
#include <windows.h>

1101110100010110000101000001

[Redigeret d. 02/03-05 22:20:37 af Nicolai Lyster Fersner]



Den ser nu sådan ud:

Fold kodeboks ind/udKode 


men der er stadig 2 fejl:

C:\\BORLAND\\BCC55\\BIN>bcc32 ip.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
ip.cpp:
Error E2031 ip.cpp 18: Cannot cast from 'string' to 'unsigned char *' in functio
n main()
Error E2294 ip.cpp 23: Structure required on left side of . or .* in function ma
in()
*** 2 errors in Compile ***

Kan ikke lige se hvad de fejl er kan du det???



C++ er operativsystem-uafhængigt, så jeg gætter på du mener ved hjælp af Win32 API'et (hmm, der er vel egentlig ikke andre muligheder med Windows' sikkerhedsforanstaltninger?)
Jeg har netop lavet en RegistryManager i dag, så jeg ved tilfældigvis hvordan :)
Sad for et par timer siden i dit sted, men ikke længe, for der er jo altid den kære gamle MSDN til at hjælpe.

Slå disse funktioner op på MSDN (brug Google, det første link er til MSDN's arkiv og det er 100x hurtigere end MSDN søgning):
RegCreateKeyEx
RegOpenKeyEx
RegQueryValueEx
RegSetValueEx

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry.asp

Mere behøver du faktisk ikke for at kunne tjekke om nøgler eksisterer, oprette nye nøgler, læser/skrive værdier osv.

1101110100010110000101000001

[Redigeret d. 02/03-05 20:55:49 af Nicolai Lyster Fersner]


Ok nu har jeg fundet ud af det så tak men der var lige en ting jeg bed mærke i som du sagde "C++ er operativsystem-uafhængigt" betyder det at hvis jeg laver min egen c++ fil som f.eks skriver "Hello World" På skærmen og ligger den på en tom harddisk som jeg så sætter til first boot betyder det så at den kan skrive "Hello World" Uden jeg har noget windows på computeren???





Ok nu har jeg fundet ud af det så tak men der var lige en ting jeg bed mærke i som du sagde "C++ er operativsystem-uafhængigt" betyder det at hvis jeg laver min egen c++ fil som f.eks skriver "Hello World" På skærmen og ligger den på en tom harddisk som jeg så sætter til first boot betyder det så at den kan skrive "Hello World" Uden jeg har noget windows på computeren???


Det betyder at der kræves et operativsystem, men at det ikke behøver at været et bestemt. Men dette kræver selvfølgelig også at du ikke bruger fx Win32 API på Linux eller prøver at benytte Linux API (kender det ikke, så skriver bare API) på Windows.
En .exe fil kræver for eksempel Windows (eller et plugin til andre OS). DOS kræver generelt .com filer.
Jeg vil ikke lige gå meget mere i detaljer, da det er et kæmpestort emne, og det vil kræve en del ekstra forklaring bare at komme til den generelle forklaring, så det må du selv læse videre på nettet om.

1101110100010110000101000001



<< < 12 > >>
t