【问题标题】:Vbscript ran from batch file not sending keystrokes to batch fileVbscript从批处理文件运行而不将击键发送到批处理文件
【发布时间】:2020-12-24 08:43:24
【问题描述】:
@echo off
timeout /t 2 >NUL 
cls
cd %temp%
set "var1=%random%%random%"
 echo >%var1%.vbs set shell = CreateObject("WScript.Shell"):shell.SendKeys "%{ENTER}" & %var1%.vbs
pause

这是我的代码。我基本上希望批处理文件做的是完全全屏打开自己(我说的是f11全屏模式)。您可以使用 ALT+ENTER 在 Windows 10 上全屏显示批处理文件。所以我写vbs发送键来做到这一点...%和ENTER是发送ALT+ENTER...运行时,我没有收到vbs错误...只是没有全屏.. . 为什么?

【问题讨论】:

  • 也许是this helps?
  • 我相信你需要escape%-登录%{ENTER}就像%%{ENTER}...
  • 双转义符号由于某种原因仍然不起作用。
  • Stephan,batch/cmd 有 ALT+ENTER 全屏。我说的不是最大化,我说的是全屏。
  • 我找到了解决方案。 echo >%var1%.vbs set shell = CreateObject("WScript.Shell"):shell.SendKeys "{F11}" & %var1%.vbs

标签: batch-file command-line vbscript


【解决方案1】:

我创建了这个批次,并在我的 Windows 10 上对其进行了测试,它可以 5/5 运行


@echo off
Set "MyTitle=FullScreen"
Title %MyTitle% & color 0A & cls & cd %temp%
set "vbsfile=%~n0.vbs"
echo >"%vbsfile%" set shell = CreateObject("WScript.Shell"):shell.SendKeys "{F11}"
REM Timeout /t 1 /nobreak>NUL
Wscript.exe "%vbsfile%"
Ipconfig /all
pause

这是另一批,当你想全屏或回到正常屏幕时,可以使用它作为子调用:


@echo off
REM Here we call the sub :FullScreen to make it fullscreen
Call :FullScreen
Ping www.google.com
Tracert www.google.com
Call :FullScreen REM You come to the normal when we call it again the sub :FullScreen
ipconfig /all
Pause & Exit
REM -------------------------------------------------------------------------------
:FullScreen
Set "MyTitle=FullScreen"
Title %MyTitle% & color 0A & cls & cd %temp%
set "vbsfile=%~n0.vbs"
echo >"%vbsfile%" set shell = CreateObject("WScript.Shell"):shell.SendKeys "{F11}"
REM Timeout /t 1 /nobreak>NUL
Wscript.exe "%vbsfile%"
Exit /b
REM -------------------------------------------------------------------------------

【讨论】:

    猜你喜欢
    • 2012-08-07
    • 2015-05-12
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多