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

Frage Entwicklung Batch & Shell

Mitglied: Motorcross

Motorcross (Level 1) - Jetzt verbinden

22.04.2010 um 16:58 Uhr, 6696 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
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 8 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 10 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...