Supportnet Computer
Planet of Tech

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

Antwort 2 von 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

Antwort 4 von Arno_Nym

Könnte es z.B. so machen:

'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", 1


Arno

Antwort 5 von Bussard

Hallo Arno !

Daß ist genau das, was ich gemeint habe!

Danke für die Vorlage!

*Thumbs Up*

Recht LG
buzz


Antwort 6 von Bussard

Nachsatz:

Diese Lösung wird jetzt mal so genommen,
aber ich Zukunft werde ich mich zuerst plagen dann fragen ;-)

LG
buzz


Antwort 7 von Springmaus

Dafür haste jetzt wieder mehr Zeit um meine Schiffe zu versenken. :-))))

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,

if WShell.AppActivate("D:\Daten") = FALSE then WShell.run "explorer.exe " & "D:\Daten", 1


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
buzz


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: