J
Du kannst aber die Umgebungsvariable %ProgramW6432% verwenden!
Zumindest Folgendes Funktioniert bei mir Problemlos:
"%ProgramW6432%\Microsoft Games\Chess\Chess.exe"
Also Folgendes geht bei mir als x86 problemlos:
void _tmain()
{
TCHAR *szCmd = new TCHAR[1024];
DWORD dw = ExpandEnvironmentStrings(_T("%ProgramW6432%\\Microsoft Games\\Chess\\Chess.exe"), szCmd, 1024);
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
BOOL bRet = CreateProcess(NULL, szCmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
}