Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Window Offset Checker (https://www.delphipraxis.net/67500-window-offset-checker.html)

DGL-luke 15. Apr 2006 16:40


Window Offset Checker
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,

ich hab mal wieder einen Thread als Anregung für ein Programm genommen. Und zwar den hier:
http://www.delphipraxis.net/internal...ct.php?t=80676

Mein Programm lässt sich per Enumwindows alle Fenster geben. Hat ein Fenster eine Caption und ist ausserhalb der Grenzen von Screen.Workarea, wird es in die Liste aufgenommen. Mit einem weiteren Klick werden alle Fenster oben links auf dem Desktop gestapelt.

Über die Parameter "-check" und "-clean" lässt sich beides auch direkt beim Start des Programms erledigen, mit "-halt" kann man das Programm dann auch gleich wieder schließen.

EDIT: sodele, hab noch den visible-check hinzugefügt. Ein XP-Mainfest gibts hier: http://www.delphipraxis.net/internal...light=manifest

Einfach die manifest.rar runterladen und die Datei in POffset.exe.manifest umbenennen.

EDIT: Und hier noch ein Tipp von sakura:

Zitat:

Zitat von sakura
Wenn Anwendungen außerhalb des Screens sind, dann hilft meistens folgendes:
  • Anwendung in der Taskbar (oder via Alt-Tab) auswählen
  • Alt + Space (Sytemmenü)
  • V drücken (Verschieben)
  • mindestens eine Cursortaste drücken
  • mit der Maus in den sichtbaren Bereich ziehen
  • anschließend Klick, um das Fenster zu positionieren
...:cat:...

EDIT: Version 1.1!

Jetzt mit verbesserter Erkennung abhanden gekommener Fenster bzw. Eliminierung nicht wirklich abhanden gekommener. Außerdem ist die Listbox jetzt in all Ihrer Pracht benutzbar, Aktionen betreffen nur noch ausgewählte Felder.

inherited 15. Apr 2006 16:53

Re: Window Offset Checker
 
DAS nenn ich mal ein sinnvolles Programm...thx.
Allerdings werden dann auch alle unsichtbaren, bzw. TrayIcon-Programme in der Liste angezeigt und noch ein paar mit dem Titel 'm'

DGL-luke 15. Apr 2006 16:55

Re: Window Offset Checker
 
hmm... ok, ich glaub ich werd noch checken, ob der status WS_VISIBLE anliegt.

xZise 15. Apr 2006 16:57

Re: Window Offset Checker
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm... Sieht gut aus... nur das mit den Parametern versteh ich nicht!

Und ein Bug bei XP!

inherited 15. Apr 2006 17:06

Re: Window Offset Checker
 
Wenn du das Programm mit dem Parameter -check startest, dann Checkt er automatisch. Wenn dus mit dem Parmeter -clean startest, korrigiert er zudem auch noch alle einträge.

DGL-luke 15. Apr 2006 17:15

Re: Window Offset Checker
 
hmm... pack mal ne Hier im Forum suchenXP manifest-datei dazu und schau, obs dann besser funzt.

@inherited: genau.

EDIT: neue version im ersten post.

xZise 15. Apr 2006 19:43

Re: Window Offset Checker
 
Sorry, aber ich habe keinen Plan was du meinst...

inherited 15. Apr 2006 21:34

Re: Window Offset Checker
 
Was genau kapierst du nicht?

xZise 15. Apr 2006 22:07

Re: Window Offset Checker
 
Was er mit dem XP Manifest meint.

DGL-luke 15. Apr 2006 22:29

Re: Window Offset Checker
 
Siehe oben im ersten Post.

Wenn du XP-Style willst, musst du entweder WinXP.res bzw. die unit XPMan einbinden, oder eine Manifest Datei mit dem Namen Programm.exe.manifest neben das Programm legen. Das ist eine XML-Datei.

WIN-MANww 16. Apr 2006 02:30

Re: Window Offset Checker
 
Schönes Tool, jedoch nimmt er bei meinem MultiMonitorSystem alle Fenster auf den ersten Schirm, das könnte man vieleicht noch ausbauen, damit man wählen kann, ob man ein, zwei oder noch mehr Bildschirme hat und so...

Sonst ist das ne super Idee mit dem Tool :thumb:

DGL-luke 16. Apr 2006 16:11

Re: Window Offset Checker
 
Sollte bei mehreren Bildschirmen nicht automatisch Screen.Workarea... angepasst werden?

Ich werd im Hinblick darauf wohl noch folgendes einbauen:

- Entfernen von Programmen aus der Liste
- Eingeben des Bereiches, aus dem entfernt werden soll bzw. des gültigen Bereiches
- Eingeben des Stapelortes (also wo die Fenster hinsollen)

Das wäre dann V1.1 ;)

vorrausichtliches Release: Wenn nichts dazwischenkommt, heute abend oder morgen.

DGL-luke 16. Apr 2006 23:03

Re: Window Offset Checker
 
Version 1.1 wurde soeben hochgeladen!

Elvis 16. Apr 2006 23:32

Re: Window Offset Checker
 
Zitat:

Zitat von DGL-luke
Sollte bei mehreren Bildschirmen nicht automatisch Screen.Workarea... angepasst werden?

Ich hab' da irgendein Desktopareadingsens im Hinterkopf... :gruebel:

btw: Wie man am Nutzen dieses Tools ganz klar sehen kann, ist es absolut hirnrissig Fensterpositionen zu speichern oder auf poDesigned zu lassen. ;)

inherited 17. Apr 2006 08:14

Re: Window Offset Checker
 
v 1.1:

-Minimierte Fenster werden nicht angezeigt
-Wenn maximierte Fenster korrigiert werden, lassen sie ich anschließend nich verschieben, Verkleinert man sie landen sie wieder im Nirvana :) woraufhin man es wieder korrigieren muss

Sonst Klasse :thumb:

Zacherl 17. Apr 2006 09:45

Re: Window Offset Checker
 
Kann es sein, dass in der neuen Version die Buttons nich belegt wurden?
Bei mir tut sich nichts, egal auf welchen Button ich klicke ...

Florian

xZise 17. Apr 2006 11:18

Re: Window Offset Checker
 
Ne bei mir auch nicht ;) Du musst nur das Check von "nur Sichtbare" (o.ä.) wegnehmen :D
Dann funzt es mit Scan ^^ Und wenn du dann versuchst ein abgestürtzes Programm ins Nirvana schickst ^^ Kaggt er auch ab :D

DGL-luke 17. Apr 2006 13:06

Re: Window Offset Checker
 
Also... erklär euch mal die Bedienelemente:

http://www.delphipraxis.net/download.php?id=18709

Hauptbereich
Entfernen: Entfernt markierte Einträge aus der Liste
Scan: Scannt, unter Berücksichtigung der in der Groupbox "Bildschirmbereich" angegebenen Einstellungen, alle Fenster und fügt sie ggf. in die Liste ein.
Wiederherstellen: positioniert markierte Fenster unter Berücksichtigung der in der Groupbox "Wiederherstellung" angegebenen Einstellungen.
Nirvana: Testschalter - verschiebt markierte Fenster aus dem Bildschirmbereich
Informationen: Zeigt einige Infos über das Fenster (noch Ausbaufähig ;))
Bildschirmbereich
X1/X2/Y1/Y2: Der Bereich (die vier Edits) werden automatisch bei Programmstart mit den Maßen des virtuellen Desktop gefüllt.
Ungültiger Bereich / Gültiger Bereich: Spezifiziert, ob der angegebene Bereich der gültige (sichtbare) oder der ungültige (unsichtbare) sein soll. Damit kann man sich (zu Testzwecken) alle Fenster auf dem Desktop in die Listbox holen.
Nur sichtbare Fenster: Nur Fenster, bei IsWindowVisible(handle) true ergibt, werden in die Listbox aufgenommen(Prüft afaik auf den Style WS_VISIBLE).
Offest -32000 skippen: Maximierte Fenster haben merkwürdiger Weise immer den Offset (-32000|-32000)(GetWindowRect). Da seh ich auch keine Möglichkeit, rauszufinden, ob die jetzt im gültigen Bereich sind.
Wiederherstellung
Spezifiziert, wo die Fenster beim Wiederherstellen hingestapelt werden sollen.

Kleine Testanleitung

- fünf ICQ-Nachrichtenfenster aufmachen
- Anwendung starten
- Ungültiger Bereich ankreuzen
- auflisten lassen
- ICQ-Fenster auswählen
- Ins "Nirvana" schicken
- "Gültiger Bereich" ankreuzen
- Scannen
- ICQ-Fenster auswählen
- Wiederherstellen
- Staunen ;)

[edit=alcaeus]Attachment als Link eingefuegt. Das img-Tag mag solche Links nicht ;) Mfg, alcaeus[/edit]

inherited 17. Apr 2006 13:59

Re: Window Offset Checker
 
Oder das Prog starten, dann n zweiten Monitor zuschalten, n paar fenster rüberschieben und auf scan klicken^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 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-2025 by Thomas Breitkreuz