Delphi-PRAXiS
Seite 1 von 12  1 2311     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Freeware: Desktop-Switch (https://www.delphipraxis.net/61181-freeware-desktop-switch.html)

SirThornberry 17. Jan 2006 23:02


Freeware: Desktop-Switch
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

Vorwort:

beim lesen der Beiträge in diesem Forum bin ich auf die sogenannten Desktops aufmerksam geworden welche mit CreateDesktop erstellt werden können. Dabei wird ein Desktop wie ihn so ziemlich jeder Windowsnutzer kennt erstellt. Da ich mich ein wenig mehr mit dem Thema beschäftigen wollte hab ich ein kleines Testprojekt gebaut mit dem ich neue Desktops anlegen kann und zwischen den Desktops wechseln kann.
Da ich bereits von diesem Testprojekt total begeistert bin dachte ich mir ich stell dieses einfach mal hierein.


Programmbeschreibung:

Mit diesem Programm kann man neue Desktops erstellen und zwischen den Desktops wechseln. Es werden jedoch auch einige Desktops angezeigt im Programm zu denen man nicht wechseln kann.
Sinnvoll ist das Programm für Leute welche schnell die Übersicht verlieren wegen zu viel geöffneter Dateien. Damit ist jetzt sozusagen schluss denn man kann mehrere Desktops einrichten und wenn genug Programme offen sind öffnet man einfach einen neuen Desktop und startet dort die nächsten Programme.

Aufgrund einiger verwendeter Funktion läuft das Programm nur unter:
Windows Vista, Windows XP, Windows 2000 Professional, und Windows NT Workstation 3.51 and later

Getestet wurde das Programm bisher jedoch nur unter "WinXP Pro SP2"

[Edit]
inzwischen gehen die Desktops zu schließen, ein Autostart ist vorhanden, Prozesse der Desktops werden aufgelistet, Desktops können auotmatisch beim start erstellt werden, es werden nur Desktops aufgelistet auf die man auch Zugriff hat etc.
[/Edit]
2007.09.01
- Shell einstellbar
- Fehler beim starten der Explorer.exe der auf einigen Systemen kam wurde behoben.

Dax 17. Jan 2006 23:17

Re: Freeware: Desktop-Switch
 
Mir fehlt eine Funktion, die Desktops wieder zu schließen ;-)

Ansonsten gefällt mirs gut :)

atreju2oo0 17. Jan 2006 23:18

Re: Freeware: Desktop-Switch
 
Sehr schön...
Funktioniert so wies soll!

Aber 2 Sachen würde ich mir noch wünschen:

1) nen schöneres Design ;)
2) Das dein Prog automatisch im Systemtray des neuen Desktops zu sehen is!
Ohne die Tastenkombi alt+strg+b is man sonst aufgeschmissen!

Neotracer64 17. Jan 2006 23:25

Re: Freeware: Desktop-Switch
 
Schönes Ding. :)

Wie bist du bloss nur auf die Idee gekommen. :lol:

Könntest du auch bitte den Source uppen? Wäre sehr nett! :angel2:

Luckie 18. Jan 2006 05:07

Re: Freeware: Desktop-Switch
 
Und wie bekomme ich den Desktop wieder weg? Durch Beenden des Programmes jedenfalls nicht.

SirThornberry 18. Jan 2006 06:00

Re: Freeware: Desktop-Switch
 
Wie im Vorwort beschrieben ist das ganze mein derzeitiges Testprogramm.
Das entgültige Programm soll dann natürlich auch die Desktops beenden, sowie eine Liste der Prozesse zu jedem Desktop beinhalten.
@atreju2oo0:
- Das mit dem Tray ist keine schlechte Idee (wenn man die Tastenkombi vergessen hat gibt es jedoch auch die Möglichkeit über den Taksmanager das Programm zu beenden und neu zu starten.)

@Neotracer64:
- Source uppen: Eventuell wenn das ganze fertig ist denn da es mein Testprogramm ist, sieht der source dementsprechend aus (keine alphabetiche Ordnung etc.)
- Wie ich auf die Idee gekommen bin: Ich fand das mit den Desktops interessant, besonders in Bezug auf Arbeitsstellen, wo man schnell zur eigentlichen Arbeit zurück kehren können muss, ohne erst alle Programme zu schließen :mrgreen:

@Luckie, @Dax: Das schließen der Desktops wird das nächste sein was eingebaut wird, dazu muss ich so wie ich jetzt weiß wohl alle Prozesse dieses Desktops killen. (muss man derzeit über den Taskmanager machen, wenn man also nix weiter in dem Desktop gestartet hat reicht es die Explorer.exe aus dem Desktop zu killen)
Und in diesem Zusammenhang wollte ich zu jedem Desktop eine Prozessliste anzeigen, weil es doch recht schwer ist im Taskmanager zu erkennen welcher Prozess zum aktuellen Desktop gehört.

AndreasP 18. Jan 2006 07:23

Re: Freeware: Desktop-Switch
 
Liste der Anhänge anzeigen (Anzahl: 1)
mahlzeit,

ein an sich sehr interesantes "testprogramm". was die zuordnung der prozesse zum desktop angeht könnte dir unter umständen der process explorer von sysinternals weiter helfen. wenn ich das richtig gesehen habe erhält jeder auf den zusätzlichen desktops gestartete prozess als parent id die id des explorers (und die müstest du ja erhalten wenn du den neuen desktop startest).

SirThornberry 18. Jan 2006 07:52

Re: Freeware: Desktop-Switch
 
wie ich die Prozesse den Desktops zuordne weiß ich bereits. Da aber ein Prozess auf mehrere Desktops aufgeteilt werden kann (weil eigentlich die Threads auf die Desktops verteilt sind) muss ich das ganze noch in einem Tree schön aufbereiten.

In dem Zusammanhang hol ich mir einfach alle Threats per "CreateToolhelp32Snapshot" wo ich die ProzessID mitbekomme. Mit der Funktion GetThreadDesktop kann man dann ermitteln auf welchem Desktop der Thread läuft und das muss dann einfach "nur" noch dargestellt werden.

SirThornberry 21. Jan 2006 16:16

Re: Freeware: Desktop-Switch
 
Es ist so weit - eine Neue Version ist verfügbar. (Das Attachement des ersten Beitrages wurde aktuallisiert)

folgendes hat sich geändert:
- Es werden nur noch die Desktops angezeigt zu denen man auch wechseln kann
- Die Desktops können auch wieder geschlossen werden.
- Wenn man einen neuen Desktop erstellt oder zu einem Desktop wechselt so wird das Programm im Tray des neuen Desktops, bzw. in dem Desktop wo man hinwechselt angezeigt.
- Bei Rechtsklick auf das Traymenu (kann mit dem Parameter "/tray" erzwungen werden) öffnet sich ein Popupmenü mit den Desktops zu denen man wechseln kann.
- Anstelle einer einfachen Liste mit Desktops ist jetzt ein TreeView verwendet worden in dem unter jedem Desktop die aktuellen Prozesse aufgelistet sind. Unter den Prozessen wieder sind die Threads aufgelistet.

Leider hab ich noch nicht rausgefunden wie ich anhand der ThreadID an das ThreadHandle heran komme. Daher ist es noch nicht möglich einzelne Threads zu beenden.
Wenn man einen vorhanden Desktop schließt und darauf ein Explorer geöffnet war (ist standarmäßig so damit eine Taskleiste da ist) öffnet sich derzeit leider noch Explorer-Fenster (Windows-Explorer).

tn249 21. Jan 2006 16:34

Re: Freeware: Desktop-Switch
 
Geniale Idee, ich hoffe du baust das weiter aus;

hab noch ein paar dinge bemerkt;

1. wenn ich einen desktop schließe wird ein explorerfenster in dem ursprungsdesktop geöffnet
2. wenn ich einen desktop anlege und ihn wieder lösche kann ich unter dem gleichen namen keinen neuen alegen; fehlermeldung: den gibts schon
3. wenn ich den desktop schließe (in dem tool) dann befinde ich mich im niemandsland, ich seh also keine desktopelement ausser dem hintergrundbild mehr auch die taskleiste ist weg das steuerungsfenster ist noch da -> evtl. wäre es gut wenn e dann automatisch zum ursprungsdektop zurückkehren würde

Gruß
Thomas

PS: WinXP Home SP2


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr.
Seite 1 von 12  1 2311     Letzte »    

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