Wie erstelle ich eine verzögerte Countdown-Meldung, die bat file @ auslös
Hi Ich versuche, ein Meldungsfeld mit der Schaltfläche "VERZÖGERUNG" zu erstellen. Wenn der Benutzer die Schaltfläche "VERZÖGERUNG" nicht drückt, startet das Skript eine Batchdatei (oder einen Befehl).
So sollte es so gehen:
Hallo Benutzer, Ihr Administrator hat Sie gebeten, sich nach der Arbeit von dieser Anwendung abzumelden. Wir haben festgestellt, dass Sie das Programm noch verwenden. Drücken Sie auf "Verzögern", wenn Sie sich noch auf Ihrem Computer befinden.
Idealerweise möchte ich, dass es erkennt, wenn ein bestimmtes Programm aktiv ist, und nur aktiviert, wenn es @ i
Vielen Dan
Hier ist die endgültige Version
@if (@CodeSection == @Batch) @then
@echo off
setlocal
for /f %%I in ('forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo 0x07"') do set "beep=%%I"
set /P "=%beep%"<NUL
set /P "=%beep%"<NUL
set /P "=%beep%"<NUL
setlocal
set "task=agent.exe"
set "timeout=120"
rem // Is %task% running?
tasklist /fi "imagename eq %task%" | find /i "%task%" >NUL && (
rem // Re-launch script with JScript interpreter
wscript /e:JScript /nologo "%~f0" %timeout% || (
rem // If timeout or user hits No, kill %task%
taskkill /im "%task%" /f
)
)
rem // End main runtime
goto :EOF
rem // Begin JScript portion
@end
var osh = WSH.CreateObject('WScript.Shell'),
nag = 'Greetings! Your administrator has requested you to log out of Touchstar '
+ 'after work. It appears you are still using it.'
+ ' If you are still here, Press Yes to continue working.\n\n'
+ 'Otherwise, press no to close touchstar.'
+ 'Touchstar will close automatically in less than ' + WSH.Arguments(0) + ' seconds.';
popup = osh.Popup(nag, WSH.Arguments(0), 'Are you still here?', 0x4 + 0x20 + 0x1000);
WSH.Quit(popup - 6);
ielen Dank an alle, die mitgeholfen haben, dies zu schaffen (großes Dankeschön an Rojo), und an alle, die geantwortet habe
Denslat