Windows registry schreiben!



  • Abend,
    Ich habe eine Funktion geschrieben die einen Eintrag in die Registry schreiben
    soll. So weit so gut, nur mein Problem ist, dass er es nicht macht auch wenn ich es als Admin ausführe. Mir ist aufgefallen dass er in Registry schreibt wenn ich das ganze ding mit dem "Dev C++" Kompiler kompiliere, aber nicht in meinem Projekt in Visual Basic 2012. Was ist da Falsch, der Code funktioniert es gibt keinerlei Probleme, nur im Projekt will das ganze einfach nicht.

    void Prompt::set_autostart()
    {
    	//REGISTRY SETZEN/////////////////////////////////
    	std::cout << "Setting Registry()" << std::endl;
    	HKEY hkey;
    	HKEY KEY = HKEY_LOCAL_MACHINE;
    	char place[100] = {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"};
    	char name[100] = {"BlaBla"};
    
    	TCHAR value[2048]; //TCHAR - SPEICHER
    	GetModuleFileName(NULL, value, 2048); //Ausführverzeichniss
    	std::cout << "VALUE: " << value << std::endl;
    
    	RegOpenKeyEx(KEY, (LPCTSTR)place, 0, KEY_ALL_ACCESS, &hkey);
    	RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)value, strlen(value));
    	RegCloseKey(hkey);
    	//END////////////////////////////////////////////
    }
    


  • Es überrascht mich jetzt nicht, dass Visual BASIC kein C++ übersetzt ...



  • manni66 schrieb:

    Es überrascht mich jetzt nicht, dass Visual BASIC kein C++ übersetzt ...

    Es übersetzt es ja ... ist ne Konsolenanwendung!



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Was ist wenn TCHAR als wchar_t definiert ist (was du in den projekteinstellungen setzen kannst) und nicht als char? Dann lässt du deinen char-string als wchar_t string interpretieren, indem du einfach von char* nach LPCTSTR (=const wchar_t*) castest.


Anmelden zum Antworten