On Exit Do Command
Moderator: DosItHelp
-
- Posts: 16
- Joined: 29 Jan 2010 17:19
On Exit Do Command
Is there any code that does a command when the executor closes the .bat file with the red X?If so, PLEASE post it below!
Re: On Exit Do Command
BAT Beginner
There is no command for such intention.
Batches are interpreted line by line. If you close the window this interpretation is interrupted and nothing else will go on.
Regards
aGerman
There is no command for such intention.
Batches are interpreted line by line. If you close the window this interpretation is interrupted and nothing else will go on.
Regards
aGerman
-
- Posts: 16
- Joined: 29 Jan 2010 17:19
Re: On Exit Do Command
Can you disable the red X at least?
Re: On Exit Do Command
No, you can't.
Also you can't disable Ctrl+C.
Why do you need it?
Regards
aGerman
Also you can't disable Ctrl+C.
Why do you need it?
Regards
aGerman
-
- Posts: 16
- Joined: 29 Jan 2010 17:19
Re: On Exit Do Command
Because, as my name states, i am a .bat beginner and i want to know all the code i can possibly learn so i can become an expert.
Re: On Exit Do Command
My question was geared if you would need it for something special.
Batch is a very primordial class. It is based on good old DOS and has a lot of limitations.
Batch doesn't have any event handler. That means you can't figure out
- which key is pressed
- which mouse button is pushd
- where the mause cursor is placed
and many more...
Also you can't use any WinAPI function.
Note that batch is no programming language. Nearly each command is a separate *.exe or *.com file.
Regards
aGerman
Batch is a very primordial class. It is based on good old DOS and has a lot of limitations.
Batch doesn't have any event handler. That means you can't figure out
- which key is pressed
- which mouse button is pushd
- where the mause cursor is placed
and many more...
Also you can't use any WinAPI function.
Note that batch is no programming language. Nearly each command is a separate *.exe or *.com file.
Regards
aGerman
-
- Expert
- Posts: 391
- Joined: 19 Mar 2009 08:47
- Location: Iowa
Re: On Exit Do Command
aGerman wrote:No, you can't.
Also you can't disable Ctrl+C.
Why do you need it?
Regards
aGerman
Actually, start /wait /b will disable Ctrl+C for the duration of that particular command.
Re: On Exit Do Command
avery_larry wrote:Actually, start /wait /b will disable Ctrl+C for the duration of that particular command.
You are right, but that doesn't change the fact that you can't disable it for the whole run time of a batch code.
regards
aGerman
Re: On Exit Do Command
Well you can disable the RED X button but only with Visual Basic
At least this is my opinion . . .
Major wrong!
Just found you teacher!
Just joined
At least this is my opinion . . .
aGerman wrote:- which key is pressed
Major wrong!
Code: Select all
@ECHO OFF
TITLE Keyboard Simulator
MODE CON cols=41 lines=5
:a
SET q1=
SET q2=
SET w1=
SET w2=
SET e1=
SET e2=
SET r1=
SET r2=
SET t1=
SET t2=
SET y1=
SET y2=
SET u1=
SET u2=
SET i1=
SET i2=
SET o1=
SET o2=
SET p1=
SET p2=
SET a1=
SET a2=
SET s1=
SET s2=
SET d1=
SET d2=
SET f1=
SET f2=
SET g1=
SET g2=
SET h1=
SET h2=
SET j1=
SET j2=
SET k1=
SET k2=
SET l1=
SET l2=
SET z1=
SET z2=
SET x1=
SET x2=
SET c1=
SET c2=
SET v1=
SET v2=
SET b1=
SET b2=
SET n1=
SET n2=
SET m1=
SET m2=
SET x11x=
SET x12x=
SET x21x=
SET x22x=
SET x31x=
SET x32x=
SET x41x=
SET x42x=
SET x51x=
SET x52x=
SET x61x=
SET x62x=
SET x71x=
SET x72x=
SET x81x=
SET x82x=
SET x91x=
SET x92x=
SET x01x=
SET x02x=
IF %ERRORLEVEL%==1 (
SET q1=[
SET q2=]
)
IF %ERRORLEVEL%==2 (
SET w1=[
SET w2=]
)
IF %ERRORLEVEL%==3 (
SET e1=[
SET e2=]
)
IF %ERRORLEVEL%==4 (
SET r1=[
SET r2=]
)
IF %ERRORLEVEL%==5 (
SET t1=[
SET t2=]
)
IF %ERRORLEVEL%==6 (
SET y1=[
SET y2=]
)
IF %ERRORLEVEL%==7 (
SET u1=[
SET u2=]
)
IF %ERRORLEVEL%==8 (
SET i1=[
SET i2=]
)
IF %ERRORLEVEL%==9 (
SET o1=[
SET o2=]
)
IF %ERRORLEVEL%==10 (
SET p1=[
SET p2=]
)
IF %ERRORLEVEL%==11 (
SET a1=[
SET a2=]
)
IF %ERRORLEVEL%==12 (
SET s1=[
SET s2=]
)
IF %ERRORLEVEL%==13 (
SET d1=[
SET d2=]
)
IF %ERRORLEVEL%==14 (
SET f1=[
SET f2=]
)
IF %ERRORLEVEL%==15 (
SET g1=[
SET g2=]
)
IF %ERRORLEVEL%==16 (
SET h1=[
SET h2=]
)
IF %ERRORLEVEL%==17 (
SET j1=[
SET j2=]
)
IF %ERRORLEVEL%==18 (
SET k1=[
SET k2=]
)
IF %ERRORLEVEL%==19 (
SET l1=[
SET l2=]
)
IF %ERRORLEVEL%==20 (
SET z1=[
SET z2=]
)
IF %ERRORLEVEL%==21 (
SET x1=[
SET x2=]
)
IF %ERRORLEVEL%==22 (
SET c1=[
SET c2=]
)
IF %ERRORLEVEL%==23 (
SET v1=[
SET v2=]
)
IF %ERRORLEVEL%==24 (
SET b1=[
SET b2=]
)
IF %ERRORLEVEL%==25 (
SET n1=[
SET n2=]
)
IF %ERRORLEVEL%==26 (
SET m1=[
SET m2=]
)
IF %ERRORLEVEL%==27 (
SET x11x=[
SET x12x=]
)
IF %ERRORLEVEL%==28 (
SET x21x=[
SET x22x=]
)
IF %ERRORLEVEL%==29 (
SET x31x=[
SET x32x=]
)
IF %ERRORLEVEL%==30 (
SET x41x=[
SET x42x=]
)
IF %ERRORLEVEL%==31 (
SET x51x=[
SET x52x=]
)
IF %ERRORLEVEL%==32 (
SET x61x=[
SET x62x=]
)
IF %ERRORLEVEL%==33 (
SET x71x=[
SET x72x=]
)
IF %ERRORLEVEL%==34 (
SET x81x=[
SET x82x=]
)
IF %ERRORLEVEL%==35 (
SET x91x=[
SET x92x=]
)
IF %ERRORLEVEL%==36 (
SET x01x=[
SET x02x=]
)
CLS
ECHO.%x11x%1%x12x% %x21x%2%x22x% %x31x%3%x32x% %x41x%4%4%x42x% %x51x%5%x52x% %x61x%6%x62x% %x71x%7%x72x% %x81x%8%x82x% %x91x%9%x92x% %x01x%0%x02x%
ECHO. %q1%Q%q2% %w1%W%w2% %e1%E%e2% %r1%R%r2% %t1%T%t2% %y1%Y%y2% %u1%U%u2% %i1%I%i2% %o1%O%o2% %p1%P%p2%
ECHO. %a1%A%a2% %s1%S%s2% %d1%D%d2% %f1%F%f2% %g1%G%g2% %h1%H%h2% %j1%J%j2% %k1%K%k2% %l1%L%l2%
ECHO. %z1%Z%z2% %x1%X%x2% %c1%C%c2% %v1%V%v2% %b1%B%b2% %n1%N%n2% %m1%M%m2%
CHOICE /C qwertyuiopasdfghjklzxcvbnm1234567890 /N > nul
GOTO a
Just found you teacher!
Just joined
Re: On Exit Do Command
Stergioss
you're a joker
Okay, I've got it to work:
But:
Hmm, try to detect F1 - F12, Print, Insert, Del, Shift, Ctrl, Alt, Arrows ...
And try if another window is focussed ...
Regards
aGerman
you're a joker
Okay, I've got it to work:
Code: Select all
@echo off
TITLE Keyboard Simulator
MODE CON cols=41 lines=6
set ERRL=0
:a
SET q1=
SET q2=
SET w1=
SET w2=
SET e1=
SET e2=
SET r1=
SET r2=
SET t1=
SET t2=
SET y1=
SET y2=
SET u1=
SET u2=
SET i1=
SET i2=
SET o1=
SET o2=
SET p1=
SET p2=
SET a1=
SET a2=
SET s1=
SET s2=
SET d1=
SET d2=
SET f1=
SET f2=
SET g1=
SET g2=
SET h1=
SET h2=
SET j1=
SET j2=
SET k1=
SET k2=
SET l1=
SET l2=
SET z1=
SET z2=
SET x1=
SET x2=
SET c1=
SET c2=
SET v1=
SET v2=
SET b1=
SET b2=
SET n1=
SET n2=
SET m1=
SET m2=
SET x11x=
SET x12x=
SET x21x=
SET x22x=
SET x31x=
SET x32x=
SET x41x=
SET x42x=
SET x51x=
SET x52x=
SET x61x=
SET x62x=
SET x71x=
SET x72x=
SET x81x=
SET x82x=
SET x91x=
SET x92x=
SET x01x=
SET x02x=
IF %ERRL%==1 (
SET q1=[
SET q2=]
)
IF %ERRL%==2 (
SET w1=[
SET w2=]
)
IF %ERRL%==3 (
SET e1=[
SET e2=]
)
IF %ERRL%==4 (
SET r1=[
SET r2=]
)
IF %ERRL%==5 (
SET t1=[
SET t2=]
)
IF %ERRL%==6 (
SET y1=[
SET y2=]
)
IF %ERRL%==7 (
SET u1=[
SET u2=]
)
IF %ERRL%==8 (
SET i1=[
SET i2=]
)
IF %ERRL%==9 (
SET o1=[
SET o2=]
)
IF %ERRL%==10 (
SET p1=[
SET p2=]
)
IF %ERRL%==11 (
SET a1=[
SET a2=]
)
IF %ERRL%==12 (
SET s1=[
SET s2=]
)
IF %ERRL%==13 (
SET d1=[
SET d2=]
)
IF %ERRL%==14 (
SET f1=[
SET f2=]
)
IF %ERRL%==15 (
SET g1=[
SET g2=]
)
IF %ERRL%==16 (
SET h1=[
SET h2=]
)
IF %ERRL%==17 (
SET j1=[
SET j2=]
)
IF %ERRL%==18 (
SET k1=[
SET k2=]
)
IF %ERRL%==19 (
SET l1=[
SET l2=]
)
IF %ERRL%==20 (
SET z1=[
SET z2=]
)
IF %ERRL%==21 (
SET x1=[
SET x2=]
)
IF %ERRL%==22 (
SET c1=[
SET c2=]
)
IF %ERRL%==23 (
SET v1=[
SET v2=]
)
IF %ERRL%==24 (
SET b1=[
SET b2=]
)
IF %ERRL%==25 (
SET n1=[
SET n2=]
)
IF %ERRL%==26 (
SET m1=[
SET m2=]
)
IF %ERRL%==27 (
SET x11x=[
SET x12x=]
)
IF %ERRL%==28 (
SET x21x=[
SET x22x=]
)
IF %ERRL%==29 (
SET x31x=[
SET x32x=]
)
IF %ERRL%==30 (
SET x41x=[
SET x42x=]
)
IF %ERRL%==31 (
SET x51x=[
SET x52x=]
)
IF %ERRL%==32 (
SET x61x=[
SET x62x=]
)
IF %ERRL%==33 (
SET x71x=[
SET x72x=]
)
IF %ERRL%==34 (
SET x81x=[
SET x82x=]
)
IF %ERRL%==35 (
SET x91x=[
SET x92x=]
)
IF %ERRL%==36 (
SET x01x=[
SET x02x=]
)
CLS
ECHO.%x11x%1%x12x% %x21x%2%x22x% %x31x%3%x32x% %x41x%4%4%x42x% %x51x%5%x52x% %x61x%6%x62x% %x71x%7%x72x% %x81x%8%x82x% %x91x%9%x92x% %x01x%0%x02x%
ECHO. %q1%Q%q2% %w1%W%w2% %e1%E%e2% %r1%R%r2% %t1%T%t2% %y1%Y%y2% %u1%U%u2% %i1%I%i2% %o1%O%o2% %p1%P%p2%
ECHO. %a1%A%a2% %s1%S%s2% %d1%D%d2% %f1%F%f2% %g1%G%g2% %h1%H%h2% %j1%J%j2% %k1%K%k2% %l1%L%l2%
ECHO. %z1%Z%z2% %x1%X%x2% %c1%C%c2% %v1%V%v2% %b1%B%b2% %n1%N%n2% %m1%M%m2%
CHOICE /C:qwertyuiopasdfghjklzxcvbnm1234567890 /N > nul
set ERRL=%errorlevel%
GOTO a
But:
Stergioss wrote:Major wrong!
Hmm, try to detect F1 - F12, Print, Insert, Del, Shift, Ctrl, Alt, Arrows ...
And try if another window is focussed ...
Regards
aGerman
-
- Posts: 16
- Joined: 29 Jan 2010 17:19
Re: On Exit Do Command
Ok All those codes are Awesome
But i was wondering, how to you make sounds like you did with the keyboard batch?
I would really love that kind of code.
But i was wondering, how to you make sounds like you did with the keyboard batch?
I would really love that kind of code.
Re: On Exit Do Command
BAT Beginner wrote:But i was wondering, how to you make sounds like you did with the keyboard batch?
I'm wondering why you can hear a sound
-
- Posts: 16
- Joined: 29 Jan 2010 17:19
Re: On Exit Do Command
When You Press ENTER it makes a noise.Also ; or , or ] etc...
Re: On Exit Do Command
This beep is a warning of the choice command. Because only the keys behind the /C: switch are allowed.
But you are able to generate a beep using the echo command with ASCII character 07.
copy/paste:
Regards
aGerman
But you are able to generate a beep using the echo command with ASCII character 07.
copy/paste:
Code: Select all
@echo off
:beep
cls
echo
ping -n 2 localhost>nul
goto beep
Regards
aGerman
Re: On Exit Do Command
aGerman wrote:Hmm, try to detect F1 - F12, Print, Insert, Del, Shift, Ctrl, Alt, Arrows ...
And try if another window is focussed ...
Well ok But still with some more research . . .!
BAT Beginner wrote:Ok All those codes are Awesome
But i was wondering, how to you make sounds like you did with the keyboard batch?
I would really love that kind of code.
Just add the Echo Icon
aGerman wrote:IF %ERRL%==1 (
SET q1=[
SET q2=]
Echo Beep Icon Here(Too lazy to Copy paste!
)
Also aGerman :
1)Bist du auf deutchland?
2)Come to a good forum i am visiting
http://www.lingubender.com/forum/index.php
There is a guy With more knownlodge!
I would really like to see u 2 discussing!
My name there is also Stergioss