mein Code sieht bisher so aus:
Code:
var
lDesk: Cardinal;
lCurrDesk : Cardinal;
begin
lCurrDesk := GetThreadDesktop(GetCurrentThreadId());
if (lCurrDesk <> 0) then
begin
lDesk := CreateDesktop('New Desktop', nil, nil, 1, GENERIC_ALL, nil);
if (lDesk <> 0) then
begin
if not SwitchDesktop(lDesk) then
caption := 'failed';
Sleep(1000);
SwitchDesktop(lCurrDesk);
CloseDesktop(lDesk);
end;
end;
caption wird niemals auf "failed" gesetzt da SwitchDesktop True zurück gibt.