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
GELÖST

Hinweisfenster einblenden, welches vor einem durch die Batch gestartetem Tool erscheint

Frage Entwicklung Batch & Shell

Mitglied: blacksun

blacksun (Level 1) - Jetzt verbinden

21.08.2012, aktualisiert 12:39 Uhr, 5746 Aufrufe, 17 Kommentare

Hallo zusammen,

ich habe eine Batch, die zum Testen erst einmal mspaint wie folgt startet.

[code]
@echo off

REM hier den AnWendungspfad eintragen
cd "c:\wtsrv\system32"

mspaint.exe
...
[/code]


Diese Batch läuft "unsichtbar". Paint wird nicht per start gestartet, da noch etwas passieren soll, sobald Paint geschlossen wird. Dies passiert bei den Pünktchen.

Beim Anwender soll beim Aufruf also paint starten. Gleichzeitig soll im Vordergrund ein Hinweisfenster eingeblendet werden, das den Anwender über eine Wartezeit von einem definierten Zeitraum (z.B. 10 Sekunden) informiert und dann verschindet, so dass er dann das gestartete Paint sieht.

Idee:
Ich mache eine Hinweis.bat, welche den Anwender über die Wartezeit informiert und das dann nach dem von mir gewünschten Zeitraum wieder verschwindet.
Den Aufruf der Hinweis.bat schreibe ich vor das mspaint.exe


Problem:
Rufe ich das mit
[code]
start "" hinweis.bat
[/code]
auf, dann startet nach meiner Hinweis.bat sofort danach Paint. Allerdings befindet sich das Fenster mit dem Hinweis im Hintergrund hinter Paint.

Rufe ich die Hinweis.bat ohne das start "" auf, dann wird Paint erst gestartet, wenn die Hinweis.bat abgearbeitet wurde.


Frage:
Wie kann ich paint starten und vor paint einen Hinweis setzen der den Anwender informiert, zum Warten zwingt und der im Vordergrund bleibt?

Wie gesagt muss der Aufruf vor dem paint-Start erfolgen, da die Batch, die Paint startet, weiterhin noch aktiv bleibt und noch etwas ausführen soll, sobald Paint geschlossen wird.

Viele Grüße
Martin
Mitglied: ChrisDynamite
21.08.2012 um 12:46 Uhr
Das dürfte über eine MSGBox gehen. Dein Google Begriff ist MSGBOX + Batch
Bitte warten ..
Mitglied: blacksun
21.08.2012, aktualisiert um 13:20 Uhr
Zitat von ChrisDynamite:
Das dürfte über eine MSGBox gehen. Dein Google Begriff ist MSGBOX + Batch


jab aber wie bekomme ich die in den Vordergrund?
Die starte ich ja auch vor dem paint.

Und damit überdeckt Paint auch wieder diese MSGBOX
Bitte warten ..
Mitglied: 76109
21.08.2012 um 13:53 Uhr
Hallo blacksun!

Versuchs mal mit diesem Script (*.vbs):
01.
MsgBox "Bitte warten!", vbInformation,"Paint wird gestartet..." 
02.
CreateObject("Wscript.Shell").Run "mspaint.exe", 10, False
Gruß Dieter
Bitte warten ..
Mitglied: blacksun
21.08.2012 um 14:20 Uhr
Zitat von 76109:

Versuchs mal mit diesem Script (*.vbs):
01.
> MsgBox "Bitte warten!", vbInformation,"Paint wird gestartet..." 
02.
> CreateObject("Wscript.Shell").Run "mspaint.exe", 10, False 
03.
> 


Hallo Dieter,

bringt leider auch nichts.
Paint startet erst wenn die Meldung bestätigt wird.

- Es soll aber erreicht werden, dass Paint startet und gleichzeitig die Meldung im Vordergrund erscheint (nicht hinter Paint versteckt ist)
- die Meldung soll Paint "verdecken" mit dem Hinweis noch zu warten
- Nachdem paint vom Anwender geschlossen wird sollen noch weitere Befehle abgearbeitet werden.

Viele Grüße
Martin
Bitte warten ..
Mitglied: bastla
21.08.2012, aktualisiert um 14:49 Uhr
... und so
01.
Set Sh = CreateObject("WScript.Shell") 
02.
Sh.PopUp "Paint wird gestartet ...", 10 
03.
Sh.Run "mspaint.exe", 8, True
oder so (eher nicht )?
01.
Set Sh = CreateObject("WScript.Shell") 
02.
Sh.Run "mspaint.exe", 1, False 
03.
Sh.PopUp "Paint wird gestartet...", 10
Grüße
bastla

[Edit] Parameter "bWaitOnReturn" in Variante 1 auf True geändert [/Edit]
Bitte warten ..
Mitglied: 76109
21.08.2012 um 14:41 Uhr
Hallo bastla!

Mhm, dass Script soll doch nachdem Paint geschlossen ist weiterlaufen. Also eher Variante 1 mit True am Ende oder nicht?

Gruß Dieter
Bitte warten ..
Mitglied: bastla
21.08.2012 um 14:45 Uhr
Hallo Dieter!

Yep - wäre besser (ändere ich oben) ...

Grüße
bastla
Bitte warten ..
Mitglied: blacksun
21.08.2012, aktualisiert um 15:31 Uhr
hmm, ich bräuchte eine Kombination aus beidem

Das was der Anwender sieht soll so aussehen:
[IMG]http://i48.tinypic.com/e0lb0w.jpg[/IMG]

D.h. die Meldung soll zwingend IMMER vor Paint erscheinen.


Aber das Skript soll auf jeden Fall noch was tun, wenn paint vom Anwender geschlossen wird!

Insgesamt soll schematisch folgendes passieren:

[code]
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.Run "connect.bat", 0, False

'Dann soll Paint starten mit der Meldung im VORDERGRUND
Set Sh = CreateObject("WScript.Shell")
Sh.PopUp "Paint wird gestartet ...", 10
Sh.Run "mspaint.exe", 8, True

'Wenn Paint geschlossen wird soll passieren
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.Run "disconnect.bat", 0, False
[/code]


die connect.bat und disconnect.bat müssen aber in einem anderen Ordner ausgeführt werden wie mspaint (weil darin ein zweiteiliges Tool gestartet wird welches den zweiten Teil zwingend im gleichen Ordner erwartet

Ingesamt soll also folgendes passieren:
1. Eine Connect-Batch wird ausgeführt
2. Paint startet
3. Meldung erscheint
4. Erst wenn der Anwender paint schließt soll die Disconnect-Batch ausgeführt werden.
Bitte warten ..
Mitglied: pieh-ejdsch
21.08.2012, aktualisiert um 15:33 Uhr
moin blacksun,

sowas ähnliches gabs schonmal.
Im cmd gehts auch:
01.
@echo off 
02.
setlocal 
03.
set /a Timer=15 
04.
set "WSig=PaintFertig%Random%" 
05.
start "Warte auf Ende von Paint" /min cmd /c "mspaint && waitfor /si %wsig% " 
06.
timeout /t 2 >nul 
07.
start "Moment Bitte ..." cmd /c " mode 50,10 &(for /l %%i in (%timer% -1 1) do title Bitte noch %%i sekunde^(n^) Warten. &cls &echo Paint startet ... moment&<nul set /p "=Warten sie Bitte noch %%i sekunde(n)" &timeout /t 1 /nobreak >nul) " 
08.
waitfor %wsig% 
09.
title jetzt kanns hier weitergehen weil Paint beendet wurde. 
10.
for /l %%i in (5 -1 1) do cls &<nul set /p "=Programm endet in %%i sekunde(n)" &timeout /t 1 /nobreak >nul 
11.
exit /b
Waitfor wird mindestens dafür gebraucht.
Timeout könnte duch ping ersetzt werden.

Gruß Phil
Bitte warten ..
Mitglied: 76109
21.08.2012, aktualisiert um 18:13 Uhr
Hallo blacksun!

Na, in VBS dann mit 2 Skripts:
Skript1:
01.
Set Sh = CreateObject("WScript.Shell") 
02.
Sh.Run Replace(WScript.ScriptFullName, WScript.ScriptName, "PopUp.vbs"), 0, False 
03.
Sh.Run "mspaint.exe", 3, True
Skript2 (PopUp.vbs):
01.
WScript.Sleep 500   'anpassen 
02.
CreateObject("WScript.Shell").PopUp "Paint wurde gestartet bitte 15 Sekunden warten...", 15
Gruß Dieter

[edit] bastlas Vorschlag übernommen [/edit]
Bitte warten ..
Mitglied: blacksun
21.08.2012, aktualisiert um 16:34 Uhr
@phil und Dieter

Mensch, genau das hab ich gesucht, beide Varianten funktionieren perfekt.

Was mir schon seit einigen Wochen durch den Kopf geht:

Im Moment kommen bei mir Windows2003-Server (32-Bit) zum Einsatz. Ende nächsten Jahres sollen diese durch Windows Windows Server 2012 ersetzt werden.

Wie sieht das dann mit Batch und VBS aus?
Funktionieren dann Batch und VBS noch? Wie sieht das aus?
Muss ich dann meine ganzen Batch-Skripte umschreiben? Und wenn ja, in was?
Bitte warten ..
Mitglied: bastla
21.08.2012, aktualisiert um 17:57 Uhr
Hallo Dieter!

Vorschlag, um das noch etwas dynamischer zu machen:
Sh.Run Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "PopUp.vbs", 0, False
- dann genügt es, beide Scripts in den gleichen Ordner zu legen ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
21.08.2012, aktualisiert 22.08.2012
Hallo blacksun!

Hier noch eine 'PopUp.hta', die in der Anzeige die Sekunden herunterzählt und auch solange den Fokus behält:
01.
<html> 
02.
<head> 
03.
<title>Paint gestartet...</title> 
04.
<HTA:APPLICATION 
05.
     ID = "AutoRefresh" 
06.
     ApplicationName = "Paint" 
07.
     Scroll = "no" 
08.
     SysMenu = "no" 
09.
     SingleInstance="yes"/> 
10.
</head> 
11.
 
12.
<SCRIPT LANGUAGE="VBScript"> 
13.
    Const WaitSecond = 15       'Wartezeit in Sekunden 
14.
    Const WindowWidth = 260     'Fensterbreite 
15.
    Const WindowHeight = 100    'Fensterhöhe 
16.
 
17.
    Dim Zeit, oShell 
18.
    
19.
    Sub Window_OnLoad() 
20.
        Window.ResizeTo WindowWidth, WindowHeight 
21.
        Window.MoveTo ((Screen.Width - WindowWidth) / 2), ((Screen.Height - WindowHeight) / 2) 
22.
 
23.
        Set oShell = CreateObject("WScript.Shell") 
24.
        Zeit = DateAdd("s", WaitSecond, Now) 
25.
        Call RefreshTime: TimerID = Window.SetInterval("RefreshTime", 100) 
26.
    End Sub 
27.
 
28.
    Sub RefreshTime() 
29.
        If Zeit <= Now Then Close 
30.
        oShell.AppActivate "Paint gestartet..." 
31.
        Document.All.Sek.Value = Right(Space(4) & Second(Zeit - Now), 5) 
32.
    End Sub 
33.
</SCRIPT> 
34.
<body bgcolor='buttonface' style='font-family:Arial;font-size:12px'> 
35.
&nbsp;&nbsp;Bitte noch warten&nbsp;&nbsp; 
36.
<input type='text' name='Sek' value='' readonly='readonly' size='1' style='font-family:Arial;font-size:12px'> 
37.
&nbsp;&nbsp;Sekunden 
38.
</body> 
39.
</html>
@bastla
Deinen Vorschlag habe ich oben eingebaut

Gruß Dieter
Bitte warten ..
Mitglied: bastla
21.08.2012, aktualisiert um 23:05 Uhr
@Dieter
Deinen Vorschlag habe ich oben eingebaut
... und das très elegant

Grüße
bastla
Bitte warten ..
Mitglied: evinben
27.06.2013 um 23:35 Uhr
Hallo,

könnte die Zeit bei
01.
CreateObject("WScript.Shell").PopUp "TextZumAnzeigen", 1
weniger als Sekunde gesetzt werden? Z. B. nur eine halbe Sekunde?

Gruß
Evinben
Bitte warten ..
Mitglied: bastla
27.06.2013 um 23:52 Uhr
Hallo evinben!

Geht nur mit minimal 1 Sekunde.

Grüße
bastla
Bitte warten ..
Mitglied: evinben
28.06.2013, aktualisiert um 07:15 Uhr
Hallo bastla,

schade. Dann schaue ich einen neuen Beitrag Vormittag zu eröffnen. Sicherlich gäbe es da andere alternative und ebenso "KURZE" Lösungen (im Falle in VBA für Outlook).

Einen schönen Freitag!
evinben
Bitte warten ..
Ähnliche Inhalte
JavaScript
Benachritigung einblenden
Frage von tobmesJavaScript2 Kommentare

Hi Experten, stehe leider noch am Anfang mit meinen JavaScript/jQuery kentnissen. Ich habe eine kleines php-Programm geschrieben, in das ...

Batch & Shell
Batch - Inaktive Symbole in der Taskliste einblenden
gelöst Frage von JustinVSBatch & Shell2 Kommentare

Hallo Ich arbeite in einem Betrieb in dem wir regelmässig geräte neuinstallieren müssen. Ich wurde mit der Aufgabe beauftragt ...

Microsoft
Tool gesucht, das anzeigt welche scripts oder batch etc. NACH dem Anmelden gestartet werden
gelöst Frage von johanna-pMicrosoft8 Kommentare

Hallo, ich suche ein tool, das mir anzeigt, welche Startdateien (scripts, batch-Dateien etc.) NACH dem Anmelden gestartet werden. Clients ...

Batch & Shell
Batch soll überprüfen, ob Windows-Explorer gestartet ist
gelöst Frage von kaeptenbleiBatch & Shell6 Kommentare

Hallo zusammen, ich würde gerne in einer Batch überprüfen, ob der Windows-Explorer (Dateimanager) gestartet ist (unter Win7prof. x64). Super ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...