Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Switch Desktop <<<die zweite>>> (https://www.delphipraxis.net/94890-switch-desktop-die-zweite.html)

Starworld1000 27. Jun 2007 18:50


Switch Desktop <<<die zweite>>>
 
Hallo Freunde

Ich hab mir ein Desktoptool zusammengebaut. Mit diesem Tool kann ich auf 4 andere Desktops wechseln.
Wenn ich nun den Desktop wechsle möchte ich auch mein Desktoptool dorthin verschieben, jedoch hab ich
keine Ahnung wie ich das machen könnte ? :wall:

Hat jemmand von euch eine Idee :mrgreen:

Grüße Starworld

jfheins 27. Jun 2007 18:52

Re: Switch Desktop <<<die zweite>>>
 
Ich glaube, SirThorberry hat schoinmal sowas gemacht, und afaik kann man programme nicht zwischen den Desktops verschieben - man kann wohl nochnicht mal zwischen desktops kommunizieren ...

Siehe da: http://www.delphipraxis.net/internal...ct.php?t=73037

IIRC hat er für jeden Desktop sein Programm nochmal gestartet ...

Starworld1000 27. Jun 2007 19:05

Re: Switch Desktop <<<die zweite>>>
 
Genau :zwinker: bei mir hab ich das auch gemacht.

Jedoch ist in meinem Programm noch eine Datenbankverbindung drin, und
da die sich 2x pro Minute aktualisiert (8x bei 4 Desktops) bekomm ich
irgendwann eine Fehlermeldung und die Verbindung wird geschlossen.

arbu man 27. Jun 2007 19:44

Re: Switch Desktop <<<die zweite>>>
 
Erstelle dir doch einen TCP Server auf 127.0.0.1 der das mit der Datenbank regelt.

mfg, Björn

Starworld1000 27. Jun 2007 20:07

Re: Switch Desktop <<<die zweite>>>
 
Aber inwiefern könnte der mir helfen :gruebel:

Dezipaitor 27. Jun 2007 21:00

Re: Switch Desktop <<<die zweite>>>
 
Zitat:

Zitat von jfheins
Ich glaube, SirThorberry hat schoinmal sowas gemacht, und afaik kann man programme nicht zwischen den Desktops verschieben - man kann wohl nochnicht mal zwischen desktops kommunizieren ...

Siehe da: http://www.delphipraxis.net/internal...ct.php?t=73037

IIRC hat er für jeden Desktop sein Programm nochmal gestartet ...

Also man kann zwischen Desktops kommunizieren. Die Handles sind innerhalb einer WindowStation gültig. Jedoch ist jedes Fensterhandle pro Thread in einem Desktop gebunden.
Das ist der Grund warum es so einen Desktopswitcher, wie bei Linux nicht gibt.

arbu man 27. Jun 2007 21:13

Re: Switch Desktop <<<die zweite>>>
 
Zitat:

Zitat von Starworld1000
Aber inwiefern könnte der mir helfen :gruebel:

Du könntest damit dafür sorgen das nur 2 in der Minute auf die Datenbank zugegriffen wird. Und anderen Anwendungen einfach die Daten vom letztenmal geben.

SirThornberry 27. Jun 2007 21:18

Re: Switch Desktop <<<die zweite>>>
 
Zitat:

Zitat von Dezipaitor
Zitat:

Zitat von jfheins
Ich glaube, SirThorberry hat schoinmal sowas gemacht, und afaik kann man programme nicht zwischen den Desktops verschieben - man kann wohl nochnicht mal zwischen desktops kommunizieren ...

Siehe da: http://www.delphipraxis.net/internal...ct.php?t=73037

IIRC hat er für jeden Desktop sein Programm nochmal gestartet ...

Also man kann zwischen Desktops kommunizieren. Die Handles sind innerhalb einer WindowStation gültig. Jedoch ist jedes Fensterhandle pro Thread in einem Desktop gebunden.
Das ist der Grund warum es so einen Desktopswitcher, wie bei Linux nicht gibt.

Man kann kommunizieren das stimmt, allerdings nicht mit SendMessage denn Desktopübergreifend kommen die Messages nicht an. Mit PostThreadMessage sollte es jedoch funktionieren.

Starworld1000 27. Jun 2007 23:26

Re: Switch Desktop <<<die zweite>>>
 
Danke für eure schnelle Hilfe :zwinker:

Naja ich werds mal Morgenfrüh ausprobieren, ob ich das so hinbekomme :mrgreen:

Grüße Starworld


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:48 Uhr.

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