Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Eigener Desktop??? (https://www.delphipraxis.net/28279-eigener-desktop.html)

Doc Morelli 22. Aug 2004 16:56


Eigener Desktop???
 
Hallo,

kann man sich eigentlich einen eigenen Desktop erstellen? Hab mir mal folgendes angesehen, aber nicht wirklich verstanden (CreateDesktop). Wenn ja, kann jemand erklären, wie das geht oder ob es irgendwo ein Tutor gibt???

MFG Doc

Alexander 22. Aug 2004 17:12

Re: Eigener Desktop???
 
Hast du hier schon einmal nach CreateDesktop gesucht? Da wirst du bestimmt einige Beispiele finden...

Doc Morelli 22. Aug 2004 17:54

Re: Eigener Desktop???
 
Hab es mal mit folgenden Code probiert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
SwitchDesktop(CreateDesktop('Oliver', nil, nil, DF_ALLOWOTHERACCOUNTHOOK, DESKTOP_CREATEMENU and DESKTOP_CREATEWINDOW and DESKTOP_ENUMERATE and DESKTOP_HOOKCONTROL and DESKTOP_JOURNALPLAYBACK and DESKTOP_JOURNALRECORD and DESKTOP_READOBJECTS and DESKTOP_SWITCHDESKTOP and DESKTOP_SWITCHDESKTOP, nil));
end;
Passiert aber nichts, was ist daran falsch???

DesktopManager
Diesen Desktopmanager hab ich mir auch angesehen, aber auch nicht ganz verstanden...

SleepyMaster 22. Aug 2004 18:04

Re: Eigener Desktop???
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
SwitchDesktop(CreateDesktop('Oliver', nil, nil, DF_ALLOWOTHERACCOUNTHOOK, DESKTOP_CREATEMENU or DESKTOP_CREATEWINDOW or DESKTOP_ENUMERATE or DESKTOP_HOOKCONTROL or DESKTOP_JOURNALPLAYBACK or DESKTOP_JOURNALRECORD or DESKTOP_READOBJECTS or DESKTOP_SWITCHDESKTOP or DESKTOP_SWITCHDESKTOP, nil));
end;
Ich glaube so müsste das heißen. Aber obs daran liegt???

SleepyMaster 22. Aug 2004 18:09

Re: Eigener Desktop???
 
Jo! Lag daran. Habs grade ausprobiert! Machts lieber nicht nach!

Doc Morelli 22. Aug 2004 18:25

Re: Eigener Desktop???
 
Bei mir klappts auch. Wie kann ich denn jetzt z.B. machen, dass ein Fenster angezeigt wird? Oder wie kann ich wieder zu meinem normalen Desktop zurückwechseln???

SleepyMaster 22. Aug 2004 18:28

Re: Eigener Desktop???
 
Guck dir mal MSDN-Library durchsuchenEnumDesktops an. Damit bekommst du dann eine Liste von den vorhandenen Desktops zu denen du dann per SwitchDesktop wieder zurück kommen kannst.

Doc Morelli 22. Aug 2004 18:42

Re: Eigener Desktop???
 
Code:
EnumDesktops(WINSTA_ENUMDESKTOPS, ?, ?);
Und was muss ich jetzt für die ? einsetzen? Und wie kann ich ein Fenster anzeigen?

SleepyMaster 22. Aug 2004 18:56

Re: Eigener Desktop???
 
Mit SetThreadDesktop kannst du einen Thread an einen bestimmten Desktop binden. Wenn du dann ein Fenster erzeugst, geht das automatisch auf den Desktop.

EnumDesktops(OpenWindowStation('???'), DeineEnumProcedure, Egal)

Doc Morelli 22. Aug 2004 19:22

Re: Eigener Desktop???
 
Das mit dem Fenster hab ich jetzt endlich verstanden...

Zitat:

EnumDesktops(OpenWindowStation('???'), DeineEnumProcedure, Egal)
Die Funktion soll mir ja alle Desktops anzeigen, die es gibt. Warum muss ich dann OpenWindowStation benutzen und was gehört da rein? Was ist denn meine EnumProcedure? Und Egal = nil? Sorry, sind wohl blöde Fragen, bin aber noch nicht ganz so fit in Delphi wie die meisten hier...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz