Discussion forum for all Windows batch related topics.
Moderator: DosItHelp
-
Sounak@9434
- Posts: 100
- Joined: 16 Dec 2016 22:31
#61
Post
by Sounak@9434 » 09 Feb 2017 23:32
@aGerman: Cool Tool!
Thanks Steffen.
Just a few things:-
1) Does conin stands for
console
input ? I know it's not a serious question, just asking though.
2) Is it possible to have a timer, so that if no input is given within a specified amount of time conin.exe will close itself? I'm too nit picky, am I?
3)
aGerman wrote:Also I used the technique that I learned from carlos in order to skip the overhead caused by the main function in C.
Is the technique available for public?

Last edited by
Sounak@9434 on 10 Feb 2017 11:53, edited 1 time in total.
-
aGerman
- Expert
- Posts: 3778
- Joined: 22 Jan 2010 18:01
- Location: Germany
#62
Post
by aGerman » 10 Feb 2017 07:00
Sounak@9434 wrote:1) Does conin stands for console input ?
Yes. (Exactly as noted in the batch code.)
Sounak@9434 wrote:3) Is the technique available for public?
Everything noted in the source code. It's GCC specific. The underlying __start routine will be overridden.
Sounak@9434 wrote:2) Is it possible to have a timer, so that if no input is given within a specified amount of time conin.exe will close itself?
Sure.
Code: Select all
@echo off &setlocal EnableDelayedExpansion
:: conin.exe - Read Console Input
:: timeout: %errorlevel% = 0
:: type: %errorlevel%>>29 (0=keyboard, 1=left click, 2=right click, 3=mouse move)
:: key: %errorlevel% (either character code or (for extended keys) 256 + key code)
:: mouse: row = (%errorlevel%>>14)&0x3FFF, column = %errorlevel%&0x3FFF
:: the utility times out after the passed number of milliseconds, it will wait infinite if you don't pass an argument
for /l %%i in () do (
conin.exe 1000
set /a "key=!errorlevel!, type=key>>29, y=(key>>14)&0x3FFF, x=key&0x3FFF"
if !key! == 0 (
echo timeout
) else if !type!==1 (
echo mouse left x=!x!, y=!y!
) else if !type!==2 (
echo mouse right x=!x!, y=!y!
) else if !type!==3 (
echo mouse move x=!x!, y=!y!
) else (
echo keyboard !key!
)
)
Steffen
-
Attachments
-
- conin.zip
- (2.82 KiB) Downloaded 232 times
-
Sounak@9434
- Posts: 100
- Joined: 16 Dec 2016 22:31
#63
Post
by Sounak@9434 » 10 Feb 2017 10:02
@aGerman: Thank you very much steffen. The latest version works beautifully. Thanks again.
aGerman wrote:Sounak@9434 wrote:3) Is the technique available for public?
Everything noted in the source code. It's GCC specific. The underlying __start routine will be overridden.
Whoa!

Never realized that was the trick. I have to try it out next time for sure.

-
aGerman
- Expert
- Posts: 3778
- Joined: 22 Jan 2010 18:01
- Location: Germany
#64
Post
by aGerman » 10 Feb 2017 14:52
I had to update the tool because the console mode was not reset if the timeout elapsed.
But now I don't want to occupy Antonio's thread any longer...
Steffen
-
Sounak@9434
- Posts: 100
- Joined: 16 Dec 2016 22:31
#65
Post
by Sounak@9434 » 10 Feb 2017 23:58
aGerman wrote:But now I don't want to occupy Antonio's thread any longer...
That reminds me my initial request was for Antonio to update his getmouse.exe . Maybe he doesn't want to add keyboard support to a tool named get
mouse.exe
Thanks though you all. You people are a great help.
-
thefeduke
- Posts: 211
- Joined: 05 Apr 2015 13:06
- Location: MA South Shore, USA
#66
Post
by thefeduke » 03 Jan 2018 01:10
I ran into a limitation in the use of window.exe with no operands to get the TITLE of the current window. For some time, I have been handling some cases like this:
Code: Select all
:: . . .
Rem Window.exe returns blanks when Title + 3 + Command exceeds 60
If NOT Defined Ttl Set "WinTtl=Undetermined - error, blank or too long to handle."
(EndLOCAL & If /I "%~1" NEQ "" (Set "%1=%WinTtl%") Else Echo.%WinTtl%)
:: . . .
Like most of your auxiliary .exe programs, it runs without complaint. The lack of output is the only indication. Would this be a firm limitation of the Windows interfaces that you use to get the information?
John A.
-
cha_lan_cito
- Posts: 1
- Joined: 06 Feb 2019 23:35
#67
Post
by cha_lan_cito » 06 Feb 2019 23:47
Hello,
Uups, I was trying to check if your StdDate.exe pgm could help me, but my Windows 10 - 64 bits OS says that "16 bit pgms are not compatible"
May be you may provide me with a pgm version for at least 32 bits (or better 64 bits)?
Best regards.
Juan Manuel Carrillo Campos
-
aGerman
- Expert
- Posts: 3778
- Joined: 22 Jan 2010 18:01
- Location: Germany
#68
Post
by aGerman » 07 Feb 2019 13:55
How did you get the tool? In the initial post you will find a download link for all tools compressed in a ZIP file. I can ensure you that the StdDate.exe in this archive is a 32Bit executable and it's running without any problems on Win10 x64, too.
Steffen