Batch file 模拟快捷键Home+;D
我是否可以用批处理文件模拟按Home+D键 我需要它,以尽量减少IE窗口是在全屏而不失去全屏属性 谢谢您的意思是+D.可以模拟按键。很遗憾,SendKeys无法发送密钥。但是,您可以尝试先发送Alt+空格,然后发送N以最小化活动窗口。您需要在Alt+Space和N之间稍作停顿,以使标题栏图标菜单有机会渲染——否则,N将被发送到主窗口而不是菜单 将此保存为Batch file 模拟快捷键Home+;D,batch-file,Batch File,我是否可以用批处理文件模拟按Home+D键 我需要它,以尽量减少IE窗口是在全屏而不失去全屏属性 谢谢您的意思是+D.可以模拟按键。很遗憾,SendKeys无法发送密钥。但是,您可以尝试先发送Alt+空格,然后发送N以最小化活动窗口。您需要在Alt+Space和N之间稍作停顿,以使标题栏图标菜单有机会渲染——否则,N将被发送到主窗口而不是菜单 将此保存为.bat文件并运行它进行演示 @if (@a==@b) @end /* JScript multiline comment :: begi
.bat
文件并运行它进行演示
@if (@a==@b) @end /* JScript multiline comment
:: begin batch portion
@echo off
setlocal
for /f "tokens=2" %%I in ('tasklist /v /fi "imagename eq iexplore.exe" ^| find "Internet Explorer"') do set "PID=%%I"
if defined PID goto minimize
:: apparently IE is not running. Launch, then wait for it to appear.
start "" "%programfiles%\Internet Explorer\iexplore.exe"
:ie
ping -n 2 0.0.0.0 >NUL
for /f "tokens=2" %%I in ('tasklist /v /fi "imagename eq iexplore.exe" ^| find "Internet Explorer"') do set "PID=%%I"
if not defined PID goto ie
:minimize
cscript /nologo /e:Jscript "%~f0" "%PID%"
goto :EOF
:: end batch portion / begin JScript */
var oShell = WSH.CreateObject('wscript.shell');
WSH.Echo('Activating window with PID ' + WSH.Arguments(0));
oShell.AppActivate(WSH.Arguments(0));
WSH.Sleep(100);
WSH.Echo('Making full screen');
oShell.SendKeys('{F11}');
WSH.Sleep(1000);
WSH.Echo('Activating titlebar icon menu');
oShell.SendKeys('% ');
WSH.Sleep(100);
WSH.Echo('Minimizing');
oShell.SendKeys('n');
WSH.Sleep(100);
编辑:无论如何,Alt+Esc也将最小化大多数窗口。但它不适用于F11模式IE。全屏IE被推到所有窗口的后面,而不是最小化。但是如果其他人在谷歌搜索中发现这个答案,请尝试发送Alt+Esc。这对于最小化cmd
窗口尤其有用,因为Alt+Space对这些窗口不起作用
编辑2:要让脚本最小化自己的窗口,然后最小化IE,然后重新启动自己,请尝试以下修改:
@if (@a==@b) @end /* JScript multiline comment
:: begin batch portion
@echo off
setlocal
for /f "tokens=2" %%I in ('tasklist /v /fi "imagename eq iexplore.exe" ^| find "Internet Explorer"') do set "PID=%%I"
if defined PID goto minimize
:: apparently IE is not running. Launch, then wait for it to appear.
start "" "%programfiles%\Internet Explorer\iexplore.exe"
:ie
ping -n 2 0.0.0.0 >NUL
for /f "tokens=2" %%I in ('tasklist /v /fi "imagename eq iexplore.exe" ^| find "Internet Explorer"') do set "PID=%%I"
if not defined PID goto ie
:minimize
cscript /nologo /e:Jscript "%~f0" "%PID%"
goto :EOF
:: end batch portion / begin JScript */
var oShell = WSH.CreateObject('wscript.shell');
if (WSH.Arguments.length == 1) {
WSH.Echo('Activating window with PID ' + WSH.Arguments(0));
oShell.SendKeys('%{ESC}')
oShell.AppActivate(WSH.Arguments(0));
WSH.Sleep(100);
WSH.Echo('Making full screen');
oShell.SendKeys('{F11}');
WSH.Sleep(1000);
WSH.Echo('Minimizing');
oShell.SendKeys('% ');
WSH.Sleep(100)
oShell.SendKeys('n');
oShell.Run('cscript /nologo /e:JScript ' + WSH.ScriptFullName + ' ' + WSH.Arguments(0) + ' ' + '1', 1, false);
WSH.Sleep(100);
WSH.Quit(0);
}
else {
WSH.Echo('Done. Hit ENTER to exit.');
WSH.StdIn.ReadLine();
}
还有另一种方法可以使用vb脚本
c:\Windows\System32\cscript.exe//H:cscript
yourscript.vbs
脚本文件只包含两个命令
set objShell=CreateObject(“shell.application”)
objShell.ToggleDesktop
另一种方法是调用AutoHotkey.exe winD.ahk
脚本文件WinD.ahk由一行组成
Send, #d
你是说Meta+D?调查很遗憾,SendKeys无法发送Windows元密钥。但是,您可以尝试发送
[Alt]+[Space]
,然后发送[n]
,以最小化活动窗口。我只是在F11模式下用手动按键在IE上进行了尝试,它成功地最小化了,然后在重新激活时恢复到全屏。例如用法。也可以考虑。谢谢,我想这会起作用,你能告诉我在哪里可以找到Windows PT的代码吗?谢谢,什么是Windows PT?那是葡萄牙语吗?在Internet Explorer中,点击Alt+Space,然后寻找最小化的选项。适当的字母将在下面划线。对不起,应该解释得更好,是的,它是葡萄牙语。谢谢,但似乎无法使它像这样工作。wshell set wshell=CreateObject(“WScript.Shell”)wshell.SendKeys“%n”嗨,谢谢,但它似乎不工作,我注意到你检查ie是否打开,teres没有必要,因为bat将从ie调用,它将打开。我的意图不是从开始到结束管理你的项目。这仅仅是概念的证明。可能还有其他问题——例如,浏览器安全性抑制了脚本可用的功能。尝试从cmd
提示符运行脚本。它在我的机器上工作。问题是cmd窗口在那里变成了默认窗口,因为它不会最小化我机器上的ie窗口,oShell.AppActivate
成功聚焦ie窗口。可能是因为您直接从IE内部启动脚本,浏览器安全性限制了它启动的应用程序操纵窗口焦点的能力。尝试在oShell.AppActivate
之前的行上执行oShell.SendKeys('{ESC}')
。这将有望最小化控制台并将焦点恢复到IE。另外,你知道有一个窗口吗?但我试图最小化的窗口是IE