Add(InlineCode,10822635,357,217) { WorkPoints=#6:doWork| Code=#40:// программно включить/отключить монитор|15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,windows,Share,Debug;|0:|5:const|36: EDD_GET_DEVICE_INTERFACE_NAME = 1;|37: ENUM_REGISTRY_SETTINGS = DWORD(-2);|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|46: procedure doWork(var dt:TData; idx: word);|5: end;|0:|14:implementation|0:|54:procedure THiAsmClass.doWork(var dt:TData; idx: word);|3:var|26: Display: TDisplayDevice;|20: DevMode: TDevMode;|5:begin|42: Display.cb := SizeOf( TDisplayDevice );|67: EnumDisplayDevices( nil, 0 {1=второй монитор, для первого ноль},|64: Display, EDD_GET_DEVICE_INTERFACE_NAME );|56: EnumDisplaySettings( PChar( @Display.DeviceName[0] ),|58: ENUM_REGISTRY_SETTINGS, DevMode );|72: DevMode.dmFields := DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT or|77: DM_DISPLAYFREQUENCY or DM_DISPLAYFLAGS or DM_POSITION;|72: ChangeDisplaySettingsEx( PChar( @Display.DeviceName[0] ), DevMode, 0,|69: CDS_UPDATEREGISTRY or CDS_NORESET, nil );|63: ChangeDisplaySettingsEx( nil, PDevMode( nil )^, 0, 0, nil );|4:end;|0:|4:end.| }