0

プログラムを Windows レジストリに書き込もうとしていますが、RegSetValueEX(). 私は管理アクセス権を持っています。何が悪いのかまったくわからず、一日中 REG の MSDN ページを見つめていました。

int StartupKey()
{
    int StartupKey;
    long RegOpenResult, result_write;
    const char *FilePath[]= "C:\\Windows\\security\\BensKlog.exe";
    LPCSTR Klog = "BensKLOG";

    HKEY hkey;
    printf("Opening Key...\n");
    RegOpenResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &hkey);
    if(RegOpenResult != ERROR_SUCCESS) {
    if(RegOpenResult  == ERROR_FILE_NOT_FOUND) {
        printf("Not found\n");
    } else {
        printf("Error Opening Key\n");
    }
  } else {
    printf("SUCCESS!!!\n");
  }
    StartupKey=RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);

    printf("Writing Value named Klog\n");
    result_write = RegSetValueEx((HKEY)hkey,Klog,0,REG_SZ,(BYTE *)FilePath,strlen(FilePath));
    if(result_write != ERROR_SUCCESS) {
    printf("Error Writing Value\n");
  } else {
    printf("SUCCESS!!!\n");
  }
    RegCloseKey(hkey);
  }
4

2 に答える 2