Ciao ragazzi devo associare un eseguibile ad un estensione, sono a un passo da la soluzione ma ho un piccolo inceppo.
Col seguente codice io creo una chiave contenente i valori indicati, ma quello è necessario è modificare la chiave "(predefinito)" REG_SZ che compare di default quando si crea una nuova chiave.
Codice PHP:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
HKEY hKey;
long err;
TCHAR RegValue[] = "Associazione";
BYTE ProgramPath[]= "\"C:\\Do not touch\\Read Location of Memory.exe\"\"%1\"";
//Le stringhe da dare in pasto al registro del sistema sono corrette almeno il problema non è qui :|D
err=RegCreateKey(HKEY_CLASSES_ROOT,"school_program_file\\shell\\open\\command",&hKey);
if(err!= ERROR_SUCCESS) cerr<<"Error create key\n";
err=RegSetValueEx(hKey,RegValue,0,REG_SZ,ProgramPath,sizeof(ProgramPath));
\\qui crea una chiave io invece devo modificare la chiave esistente di default
if(err!= ERROR_SUCCESS) cerr<<"Error set value\n";
RegCloseKey(hKey);
TCHAR RegValue2[] = "Associazione_school";
BYTE ProgramPath2[]= "school_program_file";
err=RegCreateKey(HKEY_CLASSES_ROOT,".scl",&hKey);
if(err!= ERROR_SUCCESS) cerr<<"Error create key\n";
err=RegSetValueEx(hKey,RegValue2,0,REG_SZ,ProgramPath2,sizeof(ProgramPath2));
//stessa cosa succede qui
if(err!= ERROR_SUCCESS) cerr<<"Error set value\n";
RegCloseKey(hKey);
system("PAUSE");
return EXIT_SUCCESS;
}