Ich bin Casting (char *) auf Daten und ich bekomme nur einen char-Wert in der Registrierung. Wenn Ich benutze nicht das Casting msvc 2010 sagt mir, dass der Argumenttyp LPCTSTR ist nicht kompatibel mit const char *.C++ RegSetValueEx legt nur einen char-Wert in der Registrierung
kann mir jemand helfen?
HKEY hKey;
LPCTSTR sk = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
LONG openRes = RegOpenKeyEx(HKEY_CURRENT_USER, sk, 0, KEY_ALL_ACCESS , &hKey);
if (openRes==ERROR_SUCCESS) {
printf("Success opening key.");
} else {
printf("Error opening key.");
}
LPCTSTR value = TEXT("SomeKey");
LPCTSTR data = L"TestData\0";
LONG setRes = RegSetValueEx (hKey, value, 0, REG_SZ, (LPBYTE)data, strlen(data)+1);
if (setRes == ERROR_SUCCESS) {
printf("Success writing to Registry.");
} else {
printf("Error writing to Registry.");
}
cout << setRes << endl;
LONG closeOut = RegCloseKey(hKey);
if (closeOut == ERROR_SUCCESS) {
printf("Success closing key.");
} else {
printf("Error closing key.");
}
Tom, es dritte Frage ist in Die letzten paar Stunden bezogen sich auf die inkonsistente Verwendung von schmalen und breiten Zeichenfolgen. Anstatt jedes Mal, wenn ein Problem auftritt, auf SO zu schreiben, ist es vielleicht besser, den gesamten Code zu überprüfen, um diese Inkonsistenzen zu beseitigen. Vielleicht kann dieser Artikel helfen: http://msdn.microsoft.com/en-us/library/ff381407%28v=vs.85%29.aspx? – atzz