Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBS GoTo funktioniert nicht

Mitglied: Motorcross

Motorcross (Level 1) - Jetzt verbinden

22.04.2010 um 16:58 Uhr, 6720 Aufrufe, 10 Kommentare

Hallo Administratoren,

ich programmiere gerade einen VBS Script, der ein Fenster in den Fordergrund stellt und dann eine Tastatureingabe simuliert.
Dies möchte ich in einer Schleife haben das sieht so aus:
01.
set WshShell = CreateObject("WScript.Shell") 
02.
anfang: 
03.
WScript.Sleep 180000 
04.
WshShell.AppActivate "ProfiLab" 
05.
WshShell.SendKeys "{ENTER}" 
06.
GoTo anfang
Ich weiß aber nicht wo der Fehler liegt.
Der Error befindet sich in der 6. Zeile, 1. Zeichen
Hätte jemand eine Idee?
Gruß Motorcross
Mitglied: Snowman25
22.04.2010 um 17:10 Uhr
es gibt kein Goto in VBS, allerdings könntest du es so lösen:


01.
set WshShell = CreateObject("WScript.Shell") 
02.
Do While TRUE 
03.
	WScript.Sleep 180000 
04.
	WshShell.AppActivate "ProfiLab" 
05.
	WshShell.SendKeys "{ENTER}" 
06.
loop
Bitte warten ..
Mitglied: ChrFriedel
22.04.2010 um 17:52 Uhr
Hiho,

also diese Lösung finde ich nicht so gelungen da Sie eine Endlosschleife erzeugt die man nur mittels Taskmanager killen kann...
Wie wärs mit so einer Lösung?

01.
 
02.
set WshShell = WScript.CreateObject("WScript.Shell") 
03.
 
04.
windowName = "Server ist ausgelastet"          'Hier muss der Titel des Fenster eingetragen werden an den der Tastendruck gesendet werden soll. Titel! also Titelleiste :) 
05.
choice = MsgBox ("Mit OK starten") 
06.
 
07.
answer  = 0 
08.
counter = 0 
09.
while answer <> 6	 
10.
	result = false 
11.
	result = WshShell.AppActivate (windowName)   'Hier wird versucht ein Fenster mit diesem Namen zu finden und zu fokussieren 
12.
 
13.
	if result = true then  
14.
                'Send "{TAB}"  eventuell benötigt um bei einem aufgehenden Fenster die Standardantwort durchzuschalten. bspw von No auf YES 
15.
		Send "{ENTER}" 
16.
		counter = counter + 1 
17.
	end if 
18.
 
19.
	answer = WshShell.Popup("Sendkey beenden?" & vbcrlf & vbcrlf & "Bisherige Treffer: " & counter,3, "Frage", 4 + 32) 
20.
	WScript.Sleep 1000 
21.
wend 
22.
 
23.
msgbox "Sendkey beendet" 
24.
 
25.
sub Send (sendString) 
26.
	WScript.Sleep 100 
27.
	WshShell.SendKeys sendString 
28.
end sub 
29.
 

Die Lösung macht sichtbar das das Script läuft, es lässt sich beenden, es schickt die Tasten nur an ein fest definiertes Fenster und zeigt die Anzahl der erfolgreichen Versuche.

Der Nachteil ist allerdings das nebenbei nicht am PC gearbeitet werden kann, aber ich vermute mal du brauchst das aus dem Grund um den PC unbeobachtet eine Aufgabe ausführen zu lassen die gelegentlich ne Frage stellt und auf eine Benutzereingabe wartet. Wenn ja sollte das genau das richtige für dich sein ;)

grüße
Bitte warten ..
Mitglied: Snowman25
23.04.2010 um 09:38 Uhr
Hallo ChrFriedel,

mit seinem eigenartigen GoTo-Konstrukt hätte Motorcross auch eine Endlose Iteration erzeugt. Ich habe seien Code nur auf ein funktionierendes Level gebracht.
übrignes passen deine Sleep-Zeiten nicht mit den benötigten Werten zusammmen. Wozu überhaupt der Sleep nach der MsgBox?

Gruß
Snow
Bitte warten ..
Mitglied: ChrFriedel
23.04.2010 um 09:54 Uhr
Huhu Snowman,

ich meinte auch nicht speziell deine Lösung sondern das ganze Prinzip. Bin gegen Endlosschleifen ;)

Der Sleep nach der Msgbox ist, zumindest bei Windows 7 und 1000ms, ein netter optischer Effekt da die Msgbox so langsam aus und dann wieder einblendet ;) Und wenn man dort höhere Werte verwendet kann man einstellen wie lange man vom nächsten Versuch verschont bleibt. Bspw 180000ms ;)

Grüße
Bitte warten ..
Mitglied: Snowman25
23.04.2010 um 10:01 Uhr
Zitat von ChrFriedel:
Der Sleep nach der Msgbox ist, zumindest bei Windows 7 und 1000ms, ein netter optischer Effekt da die Msgbox so langsam aus und
dann wieder einblendet
Jetzt bin ich neidisch... Ich musste mir dafür extra 'n FadeIn-/FadeOut-Schnipsel schreiben, damit das klappt (schleife mit opacity usw..). Problem dabei: Auf Rechnern mit schwacher GraKa bzw. ohne GraKa-treibern, wird das ganze auf einmal extrem langsam. Ausserdem ist Flüssigkeit und Geschwindigkeit des Effekts stark vom Rechner selbst abhängig...

Grüße
auch
Bitte warten ..
Mitglied: ChrFriedel
23.04.2010 um 10:20 Uhr
Zitat von Snowman25:
> Zitat von ChrFriedel:
> ----
> Der Sleep nach der Msgbox ist, zumindest bei Windows 7 und 1000ms, ein netter optischer Effekt da die Msgbox so langsam aus
und
> dann wieder einblendet
Jetzt bin ich neidisch... Ich musste mir dafür extra 'n FadeIn-/FadeOut-Schnipsel schreiben, damit das klappt
(schleife mit opacity usw..). Problem dabei: Auf Rechnern mit schwacher GraKa bzw. ohne GraKa-treibern, wird das ganze auf
einmal extrem langsam. Ausserdem ist Flüssigkeit und Geschwindigkeit des Effekts stark vom Rechner selbst abhängig...

Haste das wirklich geschrieben? Mach doch mal ne neue Anleitung. Das würde ich mir mal anschauen...

btw das Zitieren könnte besser sein oder ;)
Bitte warten ..
Mitglied: Snowman25
23.04.2010 um 10:55 Uhr
Zitat von ChrFriedel:
Zitat von Snowman25:
Zitat von ChrFriedel:
Der Sleep nach der Msgbox ist, zumindest bei Windows 7 und 1000ms, ein netter optischer Effekt da die Msgbox so langsam
aus
und
dann wieder einblendet
Jetzt bin ich neidisch... Ich musste mir dafür extra 'n FadeIn-/FadeOut-Schnipsel schreiben, damit das klappt
(schleife mit opacity usw..). Problem dabei: Auf Rechnern mit schwacher GraKa bzw. ohne GraKa-treibern, wird das ganze
auf
einmal extrem langsam. Ausserdem ist Flüssigkeit und Geschwindigkeit des Effekts stark vom Rechner selbst
abhängig...

Haste das wirklich geschrieben? Mach doch mal ne neue Anleitung. Das würde ich mir mal anschauen...
Habs aber bloß in C#..
Siehe hier:
01.
        private void fadein(object sender, EventArgs e) { 
02.
// als LOAD-Event der Form (bei Bedarf auch für Subforms und Dialoge) 
03.
            this.Opacity = 0; 
04.
            for (double i = 0; i < 100; i += 10) { 
05.
                this.Opacity = i / 100; 
06.
                this.Refresh(); 
07.
08.
            this.Opacity = 1; 
09.
10.
        private void fadeout(object sender, EventArgs e) { 
11.
// als CLOSED-Event der Form (bei Bedarf auch für Subforms und Dialoge -> ohne Application.Exit) 
12.
            for (double i = 100; i > -1; i -= 10) { 
13.
                this.Opacity = i / 100; 
14.
                this.Refresh(); 
15.
16.
            Application.Exit(); 
17.
        }
Hab das projekt mal auf meinen Server hochgeladen (ist nicht vollständig. Hatte bisher keine Lust, das Ding fertig zu machen.)

btw das Zitieren könnte besser sein oder ;)
:-P
Bitte warten ..
Mitglied: ChrFriedel
23.04.2010 um 11:33 Uhr
Achso alles klar. Ich dachte in VBScript ;)

Aber ne lustige Spielerei ist es. Und auch viel cooler als der "Effekt" in meinem VBS. Aber ich kann mir vorstellen was du mit den Performanceproblemen meinst . Liegt vermutlich an den Refreshs. Aber wie man das umgehen kann weiß ich leider auch nicht so aus dem Stehgreif.. vielleicht irgendwas mit Buffern... oder du versucht es mit nem Timer der alle 20ms feuert und die opacity verändert und sich bei 1 abschaltet. Könnte sein das du damit die Refreshs umgehen kannst... alles aber ohne Garantie ;)
Bitte warten ..
Mitglied: Snowman25
23.04.2010 um 11:39 Uhr
Hab ich schon alles ausprobiert. Aber das einzige, das zuverlässig funktioniert ist nunmal das. Auf diesem Rechner läuft der Effekt verdammt flüssig ab (frisch compiliert). Auf dem Laptop meiner mum (auch kein schlechtes Teil, allerdings vista) dauert der Effekt fast ewig. Kann aber auch am zusammenspiel des Effektes mit Aero liegen..

Hast du auch mal den Info-Screen geöffnet? Da kommt das am besten rüber, finde ich.

Gruß
Snow
Bitte warten ..
Mitglied: ChrFriedel
23.04.2010 um 13:43 Uhr
Jo den hab auch probiert. Gelungen finde ich den Effekt auch Nur eben doof wenn er nicht flüssig läuft.

Bleibt wohl nur auf WPF und .net 3+ umzusteigen. Da wurde die Sache mit der Opacity nochmal überarbeitet glaube ich
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

"goto" kann syntaktisch an dieser Stelle nicht verarbeitet werden

gelöst Frage von Y4nn1ckBatch & Shell14 Kommentare

Morgen, ich schreibe gerade an einem Zufallsgenerator für die Klasse, also an einem, der auswählt, wer dran kommt. Ich ...

Batch & Shell

Batch Dateiabfrage. Wenn älter als dann goto

gelöst Frage von ZunarasBatch & Shell2 Kommentare

Hallo, ich bin am basteln und möchte in meiner Batch eine Abfrage einbauen. Hier das komplette Skript: Ich möchte ...

Batch & Shell

Wenn XX freier speicher dann goto

gelöst Frage von functionstrutBatch & Shell4 Kommentare

Hallo :-) ich hänge hier irgendwie an einer kleinigkeit und bekomme es nicht hin. ich möchte das wenn 10GB ...

Batch & Shell

If und GOTO in Batch

gelöst Frage von BoogiemanBatch & Shell7 Kommentare

Hallo :) Ich bringe mir zurzeit das Programmieren per JAVA und Batch bei bin nur bei manchem noch nicht ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 15 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 18 StundenAdministrator.de Feedback14 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...