Du kannst die Ressource als Memory Image zusammenbauen und mit DialogBoxIndirect(Param) aufrufen:
http://msdn.microsoft.com/en-us/library/ms645457(VS.85).aspx
Solch ein Image für einen Dialog ist nicht schwer und auch in der MSDN beschrieben: DLGTEMPLATEEX
http://msdn.microsoft.com/en-us/library/ms645398(VS.85).aspx
Dann benötigt man gar keine Ressource.
Du kannst auch nur den Rahmen einer leeren Dialog Ressource erzeugen. Dir das binäre Image aus der Ressourcen Datei mit enem Hex-Editor hlen und als binären Stream in Deine EXE integrieren.
// IDD_EDIT_MACRO DIALOGEX 0, 0, 375, 239
// STYLE DS_SETFONT | DS_FIXEDSYS | WS_MAXIMIZEBOX | WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
// CAPTION "Macro Editor"
// FONT 8, "MS Shell Dlg", 400, 0, 0x1
// BEGIN
// END
static const BYTE dlgTemplate[] =
{
0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0xcd, 0x86,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x01, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00,
0x61, 0x00, 0x63, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x45, 0x00, 0x64, 0x00, 0x69, 0x00,
0x74, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x00, 0x00, 0x08, 0x00, 0x90, 0x01, 0x00, 0x01, 0x4d, 0x00,
0x53, 0x00, 0x20, 0x00, 0x53, 0x00, 0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x20, 0x00,
0x44, 0x00, 0x6c, 0x00, 0x67, 0x00, 0x00, 0x00,
0
};