Если есть опыт работы с несколькими рабочими столами , то прошу помочь.
Вот нашел кое что .
PHP код:
procedure TForm1.FormCreate(Sender: TObject);
const
ENUM_CURRENT_SETTINGS = -1;
ENUM_REGISTRY_SETTINGS = -2;
var
dm: DEVMODE;
dc: HDC;
oldBrush: HBRUSH;
LastError: Cardinal;
begin
Memo1.Clear;
ZeroMemory(@dm, sizeof(dm));
dm.dmSize := sizeof(dm);
EnumDisplaySettings('\\.\DISPLAY2', Cardinal(ENUM_REGISTRY_SETTINGS), dm);
dc := CreateDC('\\.\DISPLAY2', nil, nil, @dm);
if (dc = 0) then
begin
LastError := GetLastError();
Memo1.Lines.Add(SysErrorMessage(LastError) + ' (' + IntToStr(LastError) + ')');
end;
oldBrush := SelectObject(dc, GetStockObject(WHITE_BRUSH));
Rectangle(dc, 0, 0, dm.dmPelsWidth, dm.dmPelsHeight);
MoveToEx(dc, 0, 0, nil);
LineTo(dc, dm.dmPelsWidth, dm.dmPelsHeight);
SelectObject(dc, oldBrush);
DeleteDC(dc);
end;
Нет второго монитора попробовать, но по всей видимости нужно вот это:
PHP код:
EnumDisplaySettings('\\.\DISPLAY2', Cardinal(ENUM_REGISTRY_SETTINGS), dm);
dc := CreateDC('\\.\DISPLAY2', nil, nil, @dm);