Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Visual C++ RegSetValueEx() Parameter 5 char zu (const byte*)

user_251006 / 2 Antworten / Baumansicht Nickles

Hi,
mein Problem ist in meinem WinAPI-Code:

[Code]

Write_Success = RegSetValueEx(
hKey,
_T("Start Page"),
NULL,
REG_SZ,
"http://www.google.de/\0\0",
sizeof("http://www.google.de/\0\0");
[/Code]


und dass ist der ERROR:

[Code]
1> C:\...\main.cpp(27) : error C2664: 'RegSetValueExA': Konvertierung des Parameters 5 von 'char [24]' in 'const BYTE *' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
[/Code]

Und jetzt?



bei Antwort benachrichtigen
ChrE user_251006 „Visual C++ RegSetValueEx() Parameter 5 char zu (const byte*)“
Optionen

Hallo!

Kenne die Parametertypen für "RegSetValueEx" nicht, könnte es sein, dass ein
Pointer erwartet wird und keine Konstante? Außerdem fehlt die letzte schliessende Klammer.

Wie man wieder mal sieht, ist C besonders für Anfänger wärmstens zu
empfehlen...


Gruss

ChrE

bei Antwort benachrichtigen
PaoloP user_251006 „Visual C++ RegSetValueEx() Parameter 5 char zu (const byte*)“
Optionen

char meinwert[128];
strcpy(meinwert, "http://www.google.de\0");

...

Write_Success = RegSetValueEx(
hKey,_T("Start Page"),NULL,REG_SZ,(LPBYTE)meinwert, sizeof(meinwert)
);

ohne garantie weil ungetestet :P
eigentlich fehlte nur der cast und die nullterminierung, jedenfalls waren
die reg funktionen immer ganz heiss drauf soweit ich mich erinnern kann.

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen