AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Freeware: Desktop-Switch
Thema durchsuchen
Ansicht
Themen-Optionen

Freeware: Desktop-Switch

Ein Thema von SirThornberry · begonnen am 18. Jan 2006 · letzter Beitrag vom 10. Sep 2007
Antwort Antwort
Seite 9 von 12   « Erste     789 1011     Letzte »    
Benutzerbild von SirThornberry
SirThornberry
Registriert seit: 23. Sep 2003
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.
Angehängte Dateien
Dateityp: zip desktopswitch_128.zip (279,5 KB, 397x aufgerufen)
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
 
Benutzerbild von SirThornberry
SirThornberry

 
Delphi 2006 Professional
 
#81
  Alt 31. Aug 2007, 13:58
weil das von Windows nicht unterstützt wird. Auch ein SendMessage zu einem Fenster auf einem anderen Desktop ist nicht möglich. Die Desktops sind völlig unabhängig von einander. Es wäre bei einem Terminalserver schlimm wenn ein Nutzer einfach so ein Fenster auf den Desktop eines anderen Nutzers schieben könnte. Ebenso wäre es schlimm wenn man ohne größere Probleme sein Fenster einfach auf den LoginDesktop verschieben könnte.

Wie vor einiger Zeit in einem anderen Thread festgestellt scheinen sogar die Handles für jeden Desktop einzeln begrenzt zu sein. Wenn also auf dem einen Desktop keine weiteren Handles mehr verfügbar sind können auf einem anderen trotzdem noch welche erstellt werden.

theoretich (noch nicht probiert) müsste es sogar möglich sein auf jedem Desktop VNC-Server zu starten und somit von ferne gleichzeitig auf verschiedenen Desktops zu arbeiten.

Mein Desktopswitch zeigt auch nicht alle Desktops an. Es gibt einige Systemdesktops (eben den Logindesktop etc.) die bewusst ausgeblendet werden damit man gar nicht erst auf dumme Gedanken kommt.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#82
  Alt 31. Aug 2007, 14:03
So mal ganz naiv gefragt:
Ist es nicht möglich, ein Programm oder Fenster mit allen seinen Einstellungen (geöffnete Dokumente, Grösse, Darstellung, Position, Benutzerrechte, usw) zu speichern und dann auf einem anderen Desktop wieder zu laden?

Irgendeine Lösung gibt es doch sicher für das Problem...
Klaus E.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry

 
Delphi 2006 Professional
 
#83
  Alt 31. Aug 2007, 14:12
meines wissens gibt es dafür keine einfache Lösung. Denn das käme dem gleich:
1.) Ein ein Programm oder Fenster mit allen seinen Einstellungen (geöffnete Dokumente, Grösse, Darstellung, Position, Benutzerrechte, usw) zu speichern
2.1) und dann nach einem Neustart des Computers wieder zu laden?
2.2) und dann auf einem anderen Rechner wieder zu starten?

Auf den ersten Blick scheinen also die Nachteile der echten desktops bei der Verwendung größer zu sein als die Nachteile von virtuellen Desktops.
Da ich aber den Gedanken mag auf einem Recher so arbeiten zu können als hätte ich Rechner mehrere vor mir (ohne so starken Ressourcenaufwand wie bei VM's) gefällt mir die Variante der echten Desktops mehr als gut.


Wenn du XP verwendest und die schnelle Benutzerumschaltung nutzt (also das mehrere Nutzer gleichzeitig angemeldet sein können) kennst du die echten Desktops schon. Genau die gleichen einschränkungen die es da gibt sind auch bei mir vorhanden.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#84
  Alt 31. Aug 2007, 14:25
Aha, jetzt hab ich das verstanden.

Das mit dem Programm wieder laden:
Wie macht es MS mit dem Hypernate (Windows beenden bei geöffneten Programmen, beim nächsten Starten von Windows sind alle Programme genau wieder gleich da wie vor dem Beenden von Windows)?
Da müssen doch auch alle Programme mit allen Parametern gespeichert werden. Es wird sicher nicht der komplette RAM gespeichert und wieder geladen???


P.S. Sorry, ich habe erst vorhin gesehen, dass Dein Programm schon ein Jahr alt ist. Vor einem Jahr war die Entwicklung aber recht rasant.
Klaus E.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#85
  Alt 31. Aug 2007, 14:28
Zitat von RavenIV:
Aha, jetzt hab ich das verstanden.

Das mit dem Programm wieder laden:
Wie macht es MS mit dem Hypernate (Windows beenden bei geöffneten Programmen, beim nächsten Starten von Windows sind alle Programme genau wieder gleich da wie vor dem Beenden von Windows)?
Da müssen doch auch alle Programme mit allen Parametern gespeichert werden. Es wird sicher nicht der komplette RAM gespeichert und wieder geladen???


P.S. Sorry, ich habe erst vorhin gesehen, dass Dein Programm schon ein Jahr alt ist. Vor einem Jahr war die Entwicklung aber recht rasant.
Soweit ich weiß: Doch, genau das wird gemacht

Dafür gibt es dann eine Datei hibernate.sys, die (iirc) die Größe deines Arbeitsspeichers hat, und in der dann alles drin ist. Beim wiederaufwecken wird dann der Inahlt in den RAM gelesen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry

 
Delphi 2006 Professional
 
#86
  Alt 31. Aug 2007, 14:29
Beim Beenden von Windows hat Windows eben den Vorteil das es selbst das Betriebssystem ist.
So wie man beim eigenen Programm, beim schließen, alle Einstellungen in eine Ini, Registry, Binärdatei etc. speichern kann macht es Windows auch. Es sichert eben alle Handles der Programme, den Arbeitsspeicher den Programme zugewiesen bekommen haben, die Stacks, die Threads, die Position an der die Abarbeitung des Programmes zur Zeit ist etc.

Was mich bis heute noch wundert ist das die Programme dann wirklich ordentlich weiter laufen. Denn wenn ein Programm anhand der Zeit ermittelt wann es wieder was machen muss, müsste es sich ja dann überschlagen um all die vergangenen Aktionen nachzuholen (wenn zum Beispiel alle X Millisekunden 1 pixel weiter gerückt wird müsste ja dann plötzlich um viele Pixel weitergerückt werden). Oder ein Programm was auf Hardware zugreift müsste dann Fehler bekommen weil die Hardware ja auch ausgeschaltet wurde und in einem ganz anderen Status ist.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#87
  Alt 31. Aug 2007, 14:38
Und naiv weitergesponnen:
Ein Programm (Process) hat doch einen eigenen Prozessraum mit abgeschottetem Arbeitsspeicher.
Könnte man nicht diesen Prozessraum speichern und wieder auf dem neuen Desktop laden?

Oder wie macht es der Firefox, wenn man die Session nach Beenden wieder herstellen lässt?
Da werden auch alle angezeigten Webseiten wieder zum Zeitpunkt des Beendens angezeigt.

Ich weiss, dass ich lästig bin. Aber IRGENDWIE muss das doch gehen.
Wenn auch mit endlichem Aufwand.
Klaus E.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#88
  Alt 31. Aug 2007, 14:41
Zitat von RavenIV:
Und naiv weitergesponnen:
Ein Programm (Process) hat doch einen eigenen Prozessraum mit abgeschottetem Arbeitsspeicher.
Könnte man nicht diesen Prozessraum speichern und wieder auf dem neuen Desktop laden?
Nein, dann würden die Handles wahrscheinlich nicht mehr stimmmen, und Windows wüsste ja auch nichts davon

Zitat:
Oder wie macht es der Firefox, wenn man die Session nach Beenden wieder herstellen lässt?
Da werden auch alle angezeigten Webseiten wieder zum Zeitpunkt des Beendens angezeigt.
man kann ja in einer Datei alle Webseiten inkl. Quellcode speichern, und beim Starten wieder laden

Es werden also nicht alle Interna gepeichert, sondern nur soviel Infos, dass man diese wiederherstellen kann

Zitat:
Ich weiss, dass ich lästig bin. Aber IRGENDWIE muss das doch gehen.
Wenn auch mit endlichem Aufwand.
Wenn die Desktops mit der schnellen Benutzerumschaltung equivalent sind, könntest du dann ja ein Programm als Gast auf den Admin-Account schleusen ...
  Mit Zitat antworten Zitat
TheAn00bis
 
#89
  Alt 31. Aug 2007, 14:46
Könnte das Programm gut gebrauchen, aber auch bei mir kommt es unter Windows Vista zu der bereits mehrfach genannten Fehlermeldung: "Die Anwendung konnte nicht richtig initialisiert werden (0xc0000142)." Schade.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry

 
Delphi 2006 Professional
 
#90
  Alt 31. Aug 2007, 14:47
ich bastel mal eine Version wo man anstelle des Explorers was anderes starten lassen kann.
Vielleicht liegt es ja wirklich an der Version des Explorers (inklusive Begleitumstände) und nicht an der Art und Weise wie die Programme gestartet werden.
Unter Windows-Vista konnte ich es bisher nicht testen.

Ich geb dann bescheid wenn die neue Version verfügbar ist. Noch bin ich auf Arbeit und kann nichts dran ändern.
Jens
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 9 von 12   « Erste     789 1011     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 Uhr.
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