Registry Einträge



  • Ich möchte ein Programm schreibe, dass sich in die Registry einträgt. Es sieht volgendermaße aus:

    #include <windows.h>
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout<<"Ich schreibe mich jetzt in deinen Autostart";;
        system("reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v test /d test.exe");
    }
    

    doch wenn ich es ausführe steht da immer ungültiger Pfad. Als .bat datei funktioniert es aber. Was mache ich falsch?

    danke schonmal

    CPing

    /edit:
    ich weiß, dass ich dieDatei verschieben müsste. Also ind den windows Prdner. Doch dies habe ich im code mal weggelassen. Der genaue Fehler Lautet:
    "Ungültiger Schlüsselname"


  • Administrator

    Dein Fehler ist, dass du system verwendest. Verwende lieber die entsprechenden WinAPI Funktionen dazu:
    http://msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx

    Grüssli



  • Naja schau Mal, du gibst ihm ein Pfad an der nicht existiert. Warum fragst du dich ? Weil du in Wirklichkeit das hier schreibst :

    red add HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun ...

    Alles was in C++ ein " \ " davor hat, ist eine Escape-Sequenz, d.h. du müsstest das folgt schreiben :

    system("reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v test /d test.exe");
    

    Das könnteste z.B. auch gerne mal mit cout testen. Schau dir mal an was dein Programm macht, bzw. dein Compiler vllt. meckert wenn du folgendes machst.

    int main()
    {
    std::cout << "Hal\\lo" << std::endl;
    std::cout << "Hal\lo";
    }
    

    Glaube hiermit ist deine Frage wenn ich mich nicht irre oder was falsch verstanden hab beantwortet.



  • Vielen Dank Freaky und auch dir Dravere.
    Kann mann hier User irgendwie bewerten oder so? xD



  • CPing schrieb:

    Kann mann hier User irgendwie bewerten oder so? xD

    Nein, wäre auch wenig sinnvoll (einige mögen manche Ratschläge nicht, auch wenn sie sinnvoll sind).

    Aber noch 2 Bitten für die Zukunft:
    1. Wenn es um Windowsspezifisches geht, poste lieber im WinAPI-Unterforum (zumindestens wenn du windows.h einsetzt - Sprich die Windows API).
    2. Benutze bitte die cpp-Tags (statt den code-Tags) um C/C++ Code auch farblich hervorzuheben. Ist lesbarer.

    cu André



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ 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.


Anmelden zum Antworten