Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Taskmanager auslesen und Tasks in den Vordergrund setzen
Frage
[b]Hallo Schlaufüchse ![/b]
Ich hätte da mal eine besondere Frage:
Besteht die Möglichkeit, abzufragen, ob ein Explorerfester schon geöffnet wurde, um es bei Bedarf in den Vordergrund zu Rücken?
[u]Um es etwas zu verdeutlichen:[/u]
Ich habe einen Link in der Schnellstartleiste, welcher mir einen bestimmten Ordner öffnet.
Nun würde es aber hilfreich sein, wenn nicht i[b]mmer wieder der Ordner erneut[/b] geöffnet würde,
sondern daß im Taskmanager kontroliert wird ob es einen nicht schon einen Eintrag des Ordners gibt.
Gleichzeitig wäre es ideal wenn sich diese Suche auf die [b]ersten Zeichen beschränkt[/b], daß heißt, es soll egel sein ob jetzt ein Unterorder des Ordners geöffnet ist.
Der Eintrag [i]D:\Daten[/i] sollte genauso bewertet werden wie
der Eintrag [i]D:\Daten\Scanns[/i]
...um das mal als Beispiel zu nehmen...
Sollte sich beim Klick auf das entsprechende Symbol noch [b]kein entsprechender[/b] Eintrag im Taskmanager befinden, sollte im Explorer wiederum der Order [i] D:\Daten[/i] geöffnet werden.
[u]Um es banal zu formulieren:[/u]
[i]Ein klick auf das Symbol
soll den Order öffnen
Ist der Ordner geöffnet, soll der Ordner in den Vordergrund rücken
Ist ein Unterordner des Ordners geöffnet, sollte dieses Fenster mit dem Unterordner in Blickpunkt wechseln[/i]
Ist es überhaupt möglich, die Abfrage der geöffneten Task in einem lesbaren Programm ( VBS-Scribt ?) zu realisieren, und die betreffenden Fester zu Aktivieren
Wenn ja würde ich mich über Vorschläge freuen
[b]Mit besten Dank im Vorraus;-)[/b]
[code]Buzz[/code]
PS Mit VB habe ich keine erfahrungen, kann mir aber zumindest den Sinn denken
Antwort 1 von Marie
Hi Greifi,
also Du meintest nicht VB sondern VBScript. Das Beispiel Shell1.vbs von Günter Born hab ich Dir geschickt. Dort wird der Windows Ordner im Explorer angezeigt. Soweit ich weiss wird der auch immer in den Vordergrund geholt? Kannst Du natürlich beiebig abändern. Die Echo-Zeilen machst Du raus. Path änderst Du und Shell.Open "C:\" änderst Du auch nach Belieben ab.
Was Du jetzt noch nicht hast ist das Prüfen, ob der Ordner bereits geöffnet ist und nicht nochmal öffnen, wenn das der Fall ist, sondern lediglich in den Vordergrund holen.
Wenn niemand eine Lösung hat zäumen wir das Pferd von hinten auf, schließen den Explorer und öffnen ihn erneut, dann ist er im Vordergrund und Du brauchst nur noch den Code zum Schließen.
Gruß marie
also Du meintest nicht VB sondern VBScript. Das Beispiel Shell1.vbs von Günter Born hab ich Dir geschickt. Dort wird der Windows Ordner im Explorer angezeigt. Soweit ich weiss wird der auch immer in den Vordergrund geholt? Kannst Du natürlich beiebig abändern. Die Echo-Zeilen machst Du raus. Path änderst Du und Shell.Open "C:\" änderst Du auch nach Belieben ab.
Was Du jetzt noch nicht hast ist das Prüfen, ob der Ordner bereits geöffnet ist und nicht nochmal öffnen, wenn das der Fall ist, sondern lediglich in den Vordergrund holen.
Wenn niemand eine Lösung hat zäumen wir das Pferd von hinten auf, schließen den Explorer und öffnen ihn erneut, dann ist er im Vordergrund und Du brauchst nur noch den Code zum Schließen.
Gruß marie
Antwort 2 von Marie
http://ourworld.compuserve.com/homepages/Guenter_Born/WSHBazaar/WSH...
Hier der Code für alle
Nochmal Grruß marie
Hier der Code für alle
Nochmal Grruß marie
Antwort 3 von Bussard
Hallo Marie!
Danke einmal für diese Zwischen infos!
Werde mich Da mal reinarbeiten und melde mich wieder!
LG buzz
Danke einmal für diese Zwischen infos!
Werde mich Da mal reinarbeiten und melde mich wieder!
LG buzz
Antwort 4 von Arno_Nym
Könnte es z.B. so machen:
Arno
'Vorbemerkung:
'
'Für korrekte Funktion MUSS unter Ordneroptionen-Ansicht der Punkt
'[Vollständigen Pfad in der Titelleiste anzeigen] aktiviert sein.
'Nun gehts los...
'Shell-Objekt initialisieren
Set WShell = CreateObject("WScript.Shell")
'Wenn "D:\Daten\..." schon offen dann aktivieren, ansonsten öffnen
if WShell.AppActivate("D:\Daten") = FALSE then WShell.run "explorer.exe " & "D:\Daten", 1Arno
Antwort 5 von Bussard
Hallo Arno !
Daß ist genau das, was ich gemeint habe!
Danke für die Vorlage!
*Thumbs Up*
Recht LG
Daß ist genau das, was ich gemeint habe!
Danke für die Vorlage!
*Thumbs Up*
Recht LG
buzzAntwort 6 von Bussard
Nachsatz:
Diese Lösung wird jetzt mal so genommen,
aber ich Zukunft werde ich mich zuerst plagen dann fragen ;-)
LG
Diese Lösung wird jetzt mal so genommen,
aber ich Zukunft werde ich mich zuerst plagen dann fragen ;-)
LG
buzzAntwort 7 von Springmaus
Dafür haste jetzt wieder mehr Zeit um meine Schiffe zu versenken. :-))))
gruß Marie
gruß Marie
Antwort 8 von Bussard
..ich bleib gleich mal in dem Thread für eine zusätzliche Frage...
Hallo Ihr Experten!
Kann mir bitte wer zeigen, wie ich ein Fenster
- das bereits "im Fokus" ist - auf Normalgröße bringen kann?
Da manche Explorerfenster minimiert werden ,
und ich eben nur dann über das bestehende VBS-Script
die Fester in den Vordergrund hole,
wäre es elegant, wenn das betreffende Explorer-Fenster selbstständig in normaler Größe wieder erscheinen würde.
Mit dieser Anweisung ist das Fenster schon aktiv,
auch wenn es nur "minimiert" in der Taskleiste liegt.
...und wie bekommt es jetzt normale Größe?...
Habe zwar schon gestöbert, aber nachdem ich nicht weiß, wonach ich eigentlich suchen muß, wende ich mich an Euch!
Besten Dank im Vorraus
LG
Hallo Ihr Experten!
Kann mir bitte wer zeigen, wie ich ein Fenster
- das bereits "im Fokus" ist - auf Normalgröße bringen kann?
Da manche Explorerfenster minimiert werden ,
und ich eben nur dann über das bestehende VBS-Script
die Fester in den Vordergrund hole,
wäre es elegant, wenn das betreffende Explorer-Fenster selbstständig in normaler Größe wieder erscheinen würde.
Mit dieser Anweisung ist das Fenster schon aktiv,
if WShell.AppActivate("D:\Daten") = FALSE then WShell.run "explorer.exe " & "D:\Daten", 1auch wenn es nur "minimiert" in der Taskleiste liegt.
...und wie bekommt es jetzt normale Größe?...
Habe zwar schon gestöbert, aber nachdem ich nicht weiß, wonach ich eigentlich suchen muß, wende ich mich an Euch!
Besten Dank im Vorraus
LG
buzz
