NUOVO!
Ieri stavo provando a postare qui, ma continuava a darmi un errore. Ho scoperto che in realtà non utilizza affatto DirectX, ma GDI o qualunque sia la grafica non DX in Windows (non OpenGL o qualsiasi altra API relativa all'hardware). Mi dispiace per quello. Pensavo davvero che fosse DX.
Ho un sacco di EXE a schermo intero a 32 bit di Windows che sono stati compilati per l'era di Windows XP e uso una versione di DirectX per le impostazioni della modalità grafica: 320x240x8. È hardcoded, nativo (non simulato in alcun modo) e i file binari non possono essere toccati, ricompilati o modificati in alcun modo (non chiedere).
Sto cercando di farli funzionare su Windows 7 a 64 bit e versioni successive (non funziona nemmeno su XP senza la scheda e il driver giusti, solo per chiarire la confusione). Funzionano solo se la scheda video e il suo driver supportano specificamente questa modalità, che è estremamente rara, indipendentemente dal fatto che sia eseguita su XP o 7. Le versioni a 32/64 bit sembrano non avere alcun impatto.
Sono stato su questo problema per molto tempo, chiedendo aiuto agli esperti numerose volte e ottenendo ogni tipo di soluzione potenziale, che ho provato uno per uno. Ognuno di essi fallisce con lo stesso errore: impossibile impostare la modalità video. Il problema è sempre che non è possibile impostare la modalità video. La soluzione ovvia è che non può tentare di impostare la modalità video, perché non è supportata. Quindi ho bisogno di una sorta di piccolo EXE che posso raggruppare con questi EXE e che può essere impostato per "avvolgerlo" e ingannarlo pensando che abbia effettivamente impostato la modalità, mentre in realtà è in esecuzione in una sorta di finestra video emulata .
Ho provato "Wine su Windows", varie utility che "cambiano la risoluzione" (inclusi DXWIN e D3DWindower), eseguendolo all'interno di una VM, impostazioni di compatibilità, ecc. Quasi tutto ciò a cui pensi immediatamente. Niente funziona affatto. Ma la cosa della VM non sarebbe buona anche se funzionasse, perché anche questo deve essere "distribuibile".
Qualcuno può aiutarmi? È anche possibile risolverlo? Sembra così bizzarro che non è possibile "ingannare" i programmi facendoli pensare che in realtà abbiano impostato la modalità video.
Spero che un vero esperto sarà in grado di trovare una soluzione.