HKEY_CLASSES_ROOT\txtfile\shell
Tenes que crear una clave con el nombre de la acción asociada, otra que diga command y el valor por defecto de esta clave debe ser el ejecutable con los parametros que necesite, con poner "%1" supongo que ira perfecto.
Este es un ejemplo (Asociar.cpp):
Código:
#include <windows.h>
void main()
{
HKEY extensionKey = 0;
DWORD Result = RegOpenKey(HKEY_CLASSES_ROOT, "txtfile\\shell", &extensionKey);
if (Result == ERROR_SUCCESS)
{
HKEY asociacionKey = 0;
Result = RegCreateKey(extensionKey, "WWW", &asociacionKey);
RegCloseKey(extensionKey);
if (Result == ERROR_SUCCESS)
{
HKEY commandKey = 0;
Result = RegCreateKey(asociacionKey, "command", &commandKey);
RegCloseKey(asociacionKey);
if (Result == ERROR_SUCCESS)
{
char ejecutable[] = "notepad \"%1\"";
RegSetValue(commandKey, "", REG_SZ, ejecutable, strlen(ejecutable));
RegCloseKey(commandKey);
}
}
}
}