Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Programmfester auf normale Größe bringen
Frage
Hallo VBS-Experten!
Ich habe ein Programmfester, welches durch ein VBS-Script in den Vordergrund gebracht wurde.
Mit welcher VBS-Anweisung würde das Fester
wieder in normaler Größe erscheinen,
auch wenn es mittlerweile minimiert wurde
Mit diesen Anweisungen (von ArnoNym) ist das Fenster schon aktiv,
[code]
Set WShell = CreateObject("WScript.Shell")
if WShell.AppActivate("D:\Daten") = FALSE then WShell.run "explorer.exe " & "D:\Daten", 1
[/code]
...und wie bekommt es jetzt normale Größe?...
wäre elegant ;-[b])[/b]
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[code] buzz[/code]
Antwort 1 von Marie
mit ws.AppActivate "Fenstername" aktivieren und dann
'Alle Fenster maximieren
Set shella = WScript.CreateObject ("Shell.Application")
shella.UndoMaximizeAll
probier mal, habsch gerade gefunden.
Gruß mariechen :-))
'Alle Fenster maximieren
Set shella = WScript.CreateObject ("Shell.Application")
shella.UndoMaximizeAll
probier mal, habsch gerade gefunden.
Gruß mariechen :-))
Antwort 2 von Bussard
Hallo Mariechen ;-)
erstmal Danke für diesen Vorschlag
und Danke an alle die sich Zeit nehmen :-)
nun das Problem:
mit
Fehler: Objekt erforderlich: 'WS'
Code: 800A01A8
Habe draufhin mal in diese Richtung gebastelt
Worauf ich folgende Fehlermeldung erhielt:
Fehler: Eine Automatisierungsklassemit dem Namen "D:\Daten"wurde nicht gefunden
Fehlercode: 80020006
Jetzt die Frage: was ist daran falsch?
LG
PS: war der meinung es wäre leichter zu durchschauen *verlegen*
erstmal Danke für diesen Vorschlag
und Danke an alle die sich Zeit nehmen :-)
nun das Problem:
mit
ws.AppActivate "D:\Daten" bekomm ich folgende Fehlermeldung:Fehler: Objekt erforderlich: 'WS'
Code: 800A01A8
Habe draufhin mal in diese Richtung gebastelt
Set WShell = CreateObject("WScript.Shell")
if WShell.AppActivate("D:\Daten") = FALSE then WShell.run "explorer.exe " & "D:\Daten", 1
WShell.AppActivate("D:\Daten")
set shella = WScript.CreateObject ("D:\Daten")
shella.UndoMaximizeAll
Worauf ich folgende Fehlermeldung erhielt:
Fehler: Eine Automatisierungsklassemit dem Namen "D:\Daten"wurde nicht gefunden
Fehlercode: 80020006
Jetzt die Frage: was ist daran falsch?
LG
buzzPS: war der meinung es wäre leichter zu durchschauen *verlegen*
Antwort 3 von Marie
Ja Herzilein,wWat willste denn aktivieren???
Du hast geschrieben
Set WShell = CreateObject("WScript.Shell")
ich hab geschrieben
mit ws.AppActivate "Fenstername" aktivieren
Dat heisst für Dich dann übersetzt: WShell.AppActivate "Fenstername"
-------------------------------------------------------
Dann habsch Dir kopiert:
'Alle Fenster maximieren
Set shella = WScript.CreateObject ("Shell.Application")
shella.UndoMaximizeAll
Dat heisst für Dichdann, weil Du ja
WShell.UndoMaximizeAll
Sorry, habsch gedacht Du hättest das kapiert. :-((
Gruß marie
PS: Hab Dir doch vor zwei Stunden schon Nacht gesagt :-(
Du hast geschrieben
Set WShell = CreateObject("WScript.Shell")
ich hab geschrieben
mit ws.AppActivate "Fenstername" aktivieren
Dat heisst für Dich dann übersetzt: WShell.AppActivate "Fenstername"
-------------------------------------------------------
Dann habsch Dir kopiert:
'Alle Fenster maximieren
Set shella = WScript.CreateObject ("Shell.Application")
shella.UndoMaximizeAll
Dat heisst für Dichdann, weil Du ja
Zitat:
Set WShell = CreateObject("WScript.Shell")
geschrieben hast:Set WShell = CreateObject("WScript.Shell")
WShell.UndoMaximizeAll
Sorry, habsch gedacht Du hättest das kapiert. :-((
Gruß marie
PS: Hab Dir doch vor zwei Stunden schon Nacht gesagt :-(
Antwort 4 von Bussard
Bevor wir uns aneinader vorbeireden...
Bei mir ist der WindowsExplorer drauf eingestellt,
den "kompletten Pfad in der Titelleiste anzuzeigen"
Durch eine Verknüpfung in der Scnellstartleiste
- welche eben das VBS-script aufruft -
wird mir nun der Explorer aufgerufen,
der eben den Ordner "D:\Daten" öffnet.
Wurde der Explorer bzw der Ordner "D:\Daten" schon aufgemacht,
wird mir eben dieses Fenster in den Vordergrund gerückt,
auch wenn ich in einem Unterordner dieses Ordners bin.
soweit funktioniert das Script ja anstandslos
Meine Frage wäre, wie ich nun dieses Script ergänzen kann,
damit mir das Fenster "D:\Daten" wieder normal dargestellt wird,
sollte es mittlerweile minimiert oder maximiert worden sein.
Das ganze hat den Sinn,
bestimmte Ornder nur einmal am Desktop zu haben
Ich setzte den Text mal als allgemeine Erklärung,
damit es vlt.klarer wird was ich meine.
LG
Bei mir ist der WindowsExplorer drauf eingestellt,
den "kompletten Pfad in der Titelleiste anzuzeigen"
Durch eine Verknüpfung in der Scnellstartleiste
- welche eben das VBS-script aufruft -
wird mir nun der Explorer aufgerufen,
der eben den Ordner "D:\Daten" öffnet.
Wurde der Explorer bzw der Ordner "D:\Daten" schon aufgemacht,
wird mir eben dieses Fenster in den Vordergrund gerückt,
auch wenn ich in einem Unterordner dieses Ordners bin.
Set WShell = CreateObject("WScript.Shell")
if WShell.AppActivate("D:\Daten") = FALSE then WShell.run "explorer.exe " & "D:\Daten", 1soweit funktioniert das Script ja anstandslos
Meine Frage wäre, wie ich nun dieses Script ergänzen kann,
damit mir das Fenster "D:\Daten" wieder normal dargestellt wird,
sollte es mittlerweile minimiert oder maximiert worden sein.
Das ganze hat den Sinn,
bestimmte Ornder nur einmal am Desktop zu haben
Ich setzte den Text mal als allgemeine Erklärung,
damit es vlt.klarer wird was ich meine.
LG
buzzAntwort 5 von Bussard
Für Marie!
nun, am anfang glaubte ich es ja auch es soweit kapiert zu haben.
Habe mich an die Vorlagen gehalten
und auch deine letzte anwort beachtet
aber diese Versuche scheitern bei mir leider.
soll aber kein Vorwurf sein! ;-)
vlt findet sich noch eine Idee
ansonst lasse ich es sein
LG buzz
nun, am anfang glaubte ich es ja auch es soweit kapiert zu haben.
Habe mich an die Vorlagen gehalten
und auch deine letzte anwort beachtet
aber diese Versuche scheitern bei mir leider.
soll aber kein Vorwurf sein! ;-)
vlt findet sich noch eine Idee
ansonst lasse ich es sein
LG buzz
Antwort 6 von Arno_Nym
Man könnte die SendKeys-Methode dazu gebrauchen, z.B. so:
Beachte:
Zwischen den () befindet sich ein Leerzeichen und ein w.
Erklärung:
Schickt die Tastenfolge ALT + LEERTASTE zur Aktivierung des Systemmenüs gefolgt von W zum "Wiederherstellen"
Arno
if WShell.AppActivate("D:\Daten") = FALSE then
WShell.run "explorer.exe " & "D:\Daten", 1
else
WShell.SendKeys "%( w)"
end ifBeachte:
Zwischen den () befindet sich ein Leerzeichen und ein w.
Erklärung:
Schickt die Tastenfolge ALT + LEERTASTE zur Aktivierung des Systemmenüs gefolgt von W zum "Wiederherstellen"
Arno
Antwort 7 von Bussard
Hallo Arno!
Tja ich muß sagen PERFEKT!
genau das was ich mir eigentlich vorgestellt habe!
*THUMBS UP*
Dankeschön ;-)
LG
Tja ich muß sagen PERFEKT!
genau das was ich mir eigentlich vorgestellt habe!
*THUMBS UP*
Dankeschön ;-)
LG
buzz
