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?