Hi ihrs
mit folgendem Code versuche ich ein
VCL Fenster auf einem anderen Desktop anzuzeigen.
Der Desktop wird zwar erstellt, bleibt aber leer, da dass Fenster auf dem Standartdesktop angezeigt wird. Mit einem
NonVCL Fenster funktioniert der Code aber.
Delphi-Quellcode:
program Project1;
uses
Windows,
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
var
OldDesktop, Desktop: HDESK;
begin
OldDesktop:=GetThreadDesktop(GetCurrentProcessId);
Desktop:= CreateDesktop('NewDesk', nil, nil, DF_ALLOWOTHERACCOUNTHOOK, GENERIC_ALL, nil);
SetThreadDesktop(Desktop);
switchdesktop(Desktop);
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
SetThreadDesktop(OldDesktop);
switchdesktop(OldDesktop);
CloseDesktop(Desktop);
end.
Wie kann ich ein
VCL Fenster auf dem neuerstellten Desktop anzeigen???
Vielen Dank