А Windows какая? 98?
У меня такой код проходит на ура (WinXP, для 98 и Me не проверял - не на чем)
X++:
static void DisplaySettings(Args _args)
{
#define.UserDLL("user32.dll")
Binary dm;
Binary NewDEVMODE()
{
container con = WinAPI::getVersion();
int SizeOfStruct = conpeek(con, 1) > 4 ? 156 : 148;
Binary DEVMODE = new Binary(SizeOfStruct);
;
DEVMODE.word ( 36, SizeOfStruct ); //dmSize
return DEVMODE;
}
Binary EnumDisplaySettings ()
{
DLL DLL;
DLLFunction DLLFunction;
Binary DEVMODE = NewDEVMODE();
;
DLL = new DLL(#UserDLL);
DLLFunction = new DLLFunction(DLL, 'EnumDisplaySettingsA');
DLLFunction.returns(ExtTypes::DWord);
DLLFunction.arg(ExtTypes::DWord,
ExtTypes::DWord,
ExtTypes::Pointer);
DLLFunction.call( 0, 0, DEVMODE);
return DEVMODE;
}
;
dm = EnumDisplaySettings();
info(dm.string(0));
}