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 argcchar *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_SUCCESScerr<<"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_SUCCESScerr<<"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_SUCCESScerr<<"Error create key\n";
err=RegSetValueEx(hKey,RegValue2,0,REG_SZ,ProgramPath2,sizeof(ProgramPath2));
//stessa cosa succede qui
if(err!= ERROR_SUCCESScerr<<"Error set value\n";
RegCloseKey(hKey);

system("PAUSE");
return 
EXIT_SUCCESS;