You are not logged in.

  • Login

1

Friday, July 10th 2009, 4:59pm

registry einträge mit c++

hey leute,
ich möchte mit c++
1) den systemordner-pfad herausfinden und mein programm dahin kopieren und
2) einen registry-eintrag erstellen mit dem richtigen pfad
dazu habe ich folgendes geschrieben

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <windows.h>
#include <stdio.h>
#include <iostream>
using namespace std;

string pathname;

int main()
{
    DWORD nSize;  
   
    char sysdir_name[MAX_PATH];  
    GetSystemDirectory( sysdir_name, sizeof( sysdir_name ) );    
    pathname = strcat(sysdir_name, "\\programm.exe");
    
    HKEY hkey;
    HKEY KEY = HKEY_LOCAL_MACHINE;
    char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"};
    char name[100]= {"programm"};
    char value[100]= {(unsigned char)pathname.c_str()};
    cout << (unsigned char)pathname.c_str();

    RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey); 
    RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)value, strlen(value));
    RegCloseKey(hkey);

    return 0;
}

allerdings landet in der registry nur "programm: ì"
wenn ich char value[100]= {(unsigned char)pathname.c_str()}; direkt in char value[100]= {"C:\\Windows\\system32\\programm.exe"}; umändere funktioniert es
jemand ne idee, wie es korrekt funktioniert?

This post has been edited 1 times, last edit by "DerCoder" (Jul 10th 2009, 6:36pm)


Social bookmarks