![]() |
Setzt andere Programme in die TNA
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich habe gestern auch mal wieder was programmiert. Nur weiß ich einfach nicht wie ich es nennen soll...Deswegen habe ich bisher auch noch nichts am ayout gemacht. Also das Programm entfernt fremde Programme/FEnster aus der Taskbar und setzt sie in ein PopUp-Menü in die TNA (links neben der Uhr). Zusätzlich gibt es einen Fenster-Manager, mit dem man die Fenster verstecken und wieder in die Taskbar einfügen kann. Manchmal kommt es allerdings mit dem Fenstermanager zu einer Zugriffsverletzung. Bisher weiß ich nicht woran es liegt. Vielleicht könnt ihr mir helfen? Vielen Dank schon mal für eure konstruktive Kritik! |
Doppelpost gelöscht, passiert ja jedem mal ;-)
...:cat:... |
Danke!!
Freue mich schon auf eure Kritik :wink: |
Lade die Datei doch bitte noch einmal hoch, die Forensoftware hat da einen Fehler gemacht :twisted:
...:cat:... |
Zitat:
Das liegt daran, das beide angehängten Datei, weil Doppelpost, die gleiche ID haben, löscht Du ein Attachment oder gar den ganzen Beitrag, so erschwinden alle Files. Ist leider so. Grüsse, Daniel :hi: |
Hi,
jetzt sollte es funktionieren. Wäre toll, wenn ihr nen tollen Namen hättet. Mir fällt einfach gar nichts ein...Danke!! Auch für die Kritik wie oben schon erwähnt |
Taskbar-Button-Manager = TBM :wink:
Nicht schlecht die Idee. Nur das mit dem "aktives fenster hinzufügen" ist etwas buggy. Jedes mal, wen ich da drauf klickke haut der mir alle Fenster noch mal in die Liste rein. Desweiteren reagiert das StringGrid nicht auf mein MouseWheel. Nimm mal einen Listview. Dann würde ich vor jeden Eintrag eine Checkbox setzten, ob es als Icon in die TNA soll oder nicht und auf den Button zum Verstecken bzw. Anzeigen verzichten. Wie hast du denn das eigentlich gelöst? Ach wa sichg jetzt nicht ausprobiert habe: Reagieren die Icons, die du mit deinem programm in die ZNA gepackt hast eigenmtlich auch auf Klicks? Dann wäre es geil und wenn man dann so ein fenster minimiert, dass es dann automatisch wieder in die TNA geht. dann könnte man was drauß machen auf Downloadportalen oder sogar als Shareware. |
Hi Luckie,
erstmal danke, dass du dir die Mühe machst mein Programm zu testen. Das mit der checkbox gefällt mir auch besser. Dann kann ich mir auch die Sternchen sparen. Das werde ich morgen oder so ändern. Ich bentze ein ValueListEditor. Kann eine Listview auch "Tabellen" darstellen? So dass ich Handle und Caption des Fensters ins Listview aufnehmen kann? (habe noch nie mit gearbeitet.) Zitat:
Ähm was ist am "aktives Fenster verstecken" denn so buggy? Das letzte Fenster was aktiv war, wird in die TNA (mein PopUp-Menü) minimiert. Bei mir klappt es wunderbar Das mit dem verstecken bzw an zeigen mache ich ganz einfach so:
Delphi-Quellcode:
Oder was meintest du?
ShowWindow(StrToInt(fenster[High(fenster), 0]), SW_HIDE);
|
Ja ein Listview ist die rechte Seite vom Explorer zum Beispiel.
Nun, ich meine, wie du das fremde Programm in die TNA mit seinen Anwendungsicon bekommst. Dann wäre noch schön, wenn man das Irgendwo speichern könnte so dass es beim nächsten Start wieder in der TNA ist, ohne, dass man es erneut der Liste Hinzufügen muß. |
Hallo,
Du solltest den Explorer nicht zum verstecken anbieten. Wenn man den Explorer versteckt, verschwindet die Shell bzw der Desktop. Ist mir gerade passiert. |
@Luckie: Achja der Explorer. Stimmt. Wusste doch das ich was übersehen habe
Ich muss wohl ein Genie sein. Die Anwendungsicons von den Programmen werden eigentlich gar nicht mit ins PopUp-Menü aufgenommen :mrgreen: Ich speichere Handle und Titel in einem Array of String (dynamisch). eigentlich ganz simpel. Das mit dem Speichern baue ich auch noch ein, das ist eine gute Idee. Morgen werde ich das aber erstmal auf eine ListView umbauen. @Jens Schumann Du meinst jetzt nciht den Windows Explorer (also den Datei-Explorer), sondern den Explorer, oder? Wie hast du denn den Explorer versteckt bekommen? Eigentlich sollten nämlich im Fenster-Manager nur die FEnster aufgelistet werden, die auch in der Taskbar sind. Oder hast du es über "aktives Fenster hinzufügen" gemacht? Wenn ja dann muss ich das auch noch überprüfen :( Danke aber schon mal für's testen und für die Ideen. Noch mehr Ideen und TEst's schaden natürlich nicht ;-) |
Hallo Alexander,
ich habe den Fenstermanager aufgerufen. Im TStringGrid werden mir die gestarteten Windows Explorer Instanzen angezeigt. Die sind ja auch in der TaskBar zu sehen. Dann habe ich eine Explorer Instanz markiert und auf verstecken geklickt. Und - schwubs war der TaskBar verschwunden. |
Och ne...Wie kommmt das denn. Bei mir tritt dieser FEhler nicht auf.
Welches Windows benutzt du? |
Delphi Anwendungen lassen sich nicht verstecken.
|
Hi,
vielen Dank für's testen. Doch meinst du Anwendungen die mit Delphi erstellt worden sind oder Delphi selbst? Denn mit normalen Anwendungen wie beispielsweise der IE sollte keine Probleme machen. Einzig MDI-Anwendungen und solche wie Delphi (mit verschiedenen Forms) machen Probleme. Da über "aktives Fenster verstecken" bisher nur das aktive Fenster versteckt wird. Also bei Delphi nur das Fenster (z.B. der Editor), das aktiv ist, versteckt wird. Die anderen bleiben sichtbar. Hat vielleicht wer eine Lösung wie ich von einem Handle des "Child-Fensters" das "Main-Fenster-Handle" bekommen kann? |
Zitat:
Delphi-Quellcode:
ShowWindow(GetWindow(Form1.Handle, GW_OWNER), SW_HIDE);
|
Liste der Anhänge anzeigen (Anzahl: 1)
So nun ist Version 0.8 fertig.
Ich habe nun eine Listview verwendet. Und in die Listview Checkboxen für's anzeigen und verbergen mit eingebaut. Dann wurde noch ein Bug enfernt. (manchmal kan eine Zugriffsverletzung.) Außerdem hat das Programm jetzt dank Luckie einen Namen und das Design wurde dementsprechend geändert. In der nächsten Verison werde ich dann die anderen Vorschläge berücksichtigen wie zb der von Luckie, dass man die versteckten Fenster speichern und somit beim nächsten Start gleich verstecken kann, usw. Vielen Dank schonmal für's weitere Testen. PS: @mods könnt ihr vielleicht in meinem ersten Post die zip ersetzen oder einen Verweiß hierauf setzen? Danke! |
Version 0.8
Ein paar "Unschönheiten": - Wieso wird Deine eigenes Programm angezeigt? Entbehrt einem gewissen Sinn. - Wieso reagiert Dein TNA-Icon nicht auf Klick bzw. Doppelklick. - Das Popup schließt sich nicht, wenn man daneben klickt. - Wieso zeigt das Hint der TNA "TNA" ab? Die Bug-Abteilung: - Ein Programm mal ausgewählt in der Fensterliste - Fenstermanager schließen - Es wird doppelt im TNA-Popup angezeigt ... - Fenstermanager wieder aufrufen: auch doppelt ... - Beim 1. der dopplten mal die Checkbox angeklickt ... - Eine kleine Zugriffsverletzung ... Und noch einer: - Akitves Fenster hinzufügen (wird jetzt nur einmal angezeigt ...) - Dein Programm schließen - Und nun, wie komme ich wieder an mein Programm? Testsystem: W2k |
Hi,
das mit dem ersten Bug ist mir auch gerade aufgefallen. Doch irgendwie ist das total unlogisch. wollte kucken ob vielleicht meine Funktion 2 mal ausgeführt wird (wäre ja logisch), also schreibe ich ShowMessage(''); dahin, dann tritt dieser Fehler mit den 2 Einträgen nicht auf, nehme ich das ShowMessage wieder weg, ist er wieder da. Kann mir irgendwer mal sagen, was sich delphi dabei denkt? :mrgreen: Diese "Unschönheiten" wollte ich eigentlich auch schon korrigiert haben, wusste das ich was vergessen habe...Bisauf das sich das PopUp nicht schließt weiß irgendwer wie das geht? Und der 2. "bug" das weiß ich kommt auch noch.... |
GetParent() ist sogar noch simpler als GetWindow *grins*
Zeig deinen Code mal komplett, dann kann man dir evtl. helfen. |
Hi Assarbad,
habe jetzt schon einen neuen Thread aufgemacht... ![]() Danke schon mal!! ;-) |
so neue Version (0.9.3).
es wurden nun auch die kleineren Sachen sowie beide Bugs, von denen Tom berichtet hat, behoben, sowie noch ein paar kleinere Sachen... Download diesmal hier: ![]() Danke schon mal für's weitere Testen ;-) |
Re: Setzt andere Programme in die TNA
und wieder eine neue Version (V 1.02)
es wurde wieder Bugs entfernt, ein paar kleinere Mängel entfernt und und und... Unter anderem werden jetzt im PopUpMenü die Bildchen der einzelnen Fenster angezeigt. (sehen aber teilweise etwas schrarz aus. Liegt irgendwie an der ImageList. Wisst ihr wieso?) Wäre toll wenn ihr es euch nochmals ankucken könntet. Danke schon mal!! ![]() PS: Was könnte man noch ergänzen? |
Re: Setzt andere Programme in die TNA
Hi alexander,
Eine kleine Änderung wer gut, nämlich man sollte den Fenstermanager aktualiesieren können. Sonst eigentlich ganz gut :thuimb: |
Re: Setzt andere Programme in die TNA
Hi Uncle Cracker,
super Idee, Danke!! neue Version: ![]() In der neuen Verison wurde nur die Akutalisierung mit F5 mit eingebaut. Habt ihr weitere Ideen? |
Re: Setzt andere Programme in die TNA
Zitat:
Das schwarz liegt am Alpha-Blending (WinXP) und ist wohl ein kleiner Bug in der Komponente... Das Problem kann man aber wie folgt lösen:
Delphi-Quellcode:
Falls Du 32x32 Icons verwenden willst, musst Du natürlich SHGFI_SMALLICON gegen SHGFI_LARGEICON tauschen.
var
SHFileInfo: TSHFileInfo; SysIcons: THandle; SystemIcons: TImageList; begin SysIcons := SHGetFileInfo('', 0, SHFileInfo, SizeOf(SHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); SystemIcon := TImageList.Create; SystemIcons.Handle := SysIcons; //SystemImagelist zuweisen... SystemIcons.ShareImages := True; {Wenn ImageList1 einmal der Inhalt der SystemImageList zugewiesen wurde unterstützt diese fortan 32Bit Icons mit Alphablending} ImageList1.Assign(SystemIcons); ImageList1.Clear; SystemIcons.Free; |
Re: Setzt andere Programme in die TNA
Super, Danke!!!
neue Version ist dank FriFra wieder unter der gleichen Adresse wie zu vor erreichbar Habt irh noch Erweiterungsideen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:14 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