Startseite | Ordnerübersicht

Delphi - Erzeugen eines neuen Desktops

{
  Author  : http://developer.luckie-online.de
  Date    : 2005-01-08
  License : PUBLIC DOMAIN
}
program SwitchDesktop;

{$APPTYPE CONSOLE}

uses
  Windows;

procedure BaitAndSwitchDesktop;
var
  OldDesk      : HDESK;
  NewDesk      : HDESK;
begin
  OldDesk := GetThreadDesktop(GetCurrentThreadID);
  NewDesk := CreateDesktop(PChar('Foobar'), nil, nil, 0, DESKTOP_CREATEWINDOW or
    DESKTOP_SWITCHDESKTOP or DESKTOP_CREATEMENU, nil);
  if NewDesk <> 0 then
  begin
    SetThreadDesktop(NewDesk);
    Windows.SwitchDesktop(NewDesk);
    MessageBox(0, 'Here I am', 'Foobar Desktop', MB_ICONINFORMATION);
    Windows.SwitchDesktop(OldDesk);
    SetThreadDesktop(OldDesk);
    CloseDesktop(NewDesk);
  end;
  CloseDesktop(OldDesk);
end;

begin
  BaitAndSwitchDesktop;
end.

http://michael-puff.de/Programmierung/Delphi/Code-Snippets/CreateDesktop.shtml
Thursday, 26-Jan-2012 23:14:33 CET mail@michael-puff.de
Bearbeiten