我怎样才能将 calc.exe 置于最前面?

我怎样才能将 calc.exe 置于最前面?

我将以下代码分配给VAIO按钮:

C:\Windows\System32\calc.exe

但每次我按下 VAIO 按钮时,都会在新窗口中显示一个新的计算器实例。如果已经有一个计算器窗口,那么将计算器置于最前面的命令行是什么?

顺便说一句:我尝试了以下方法,但没有效果。它只是充当 VAIO 按钮:

start /B calc       # Doesn't work

答案1

检查是否calc.exe已启动的批处理文件不必像乌普雷戈声明。

但首先...你真的想转变当前的 calc.exe?或者你只想calc.exe运行一个。如果你不需要切换到当前实例,你可以创建一个批处理文件来终止第一个实例并运行一个新的实例calc.exe

calc.bat

@echo off
taskkill /f /im "calc.exe"
start calc.exe

唯一的缺点是您会丢失上次计算的当前结果。

如果您不想calc.exe关闭当前页面,也可以使用其他解决方案将其置于最前面(但会稍微复杂一些)。如果您确实想切换到当前页面calc.exe,请告诉我,我会尝试进行进一步搜索。

答案2

您可以使用 AutoHotkey 和以下脚本轻松完成此操作:

<yourkey>::
IfWinExist Calculator
    {
        WinActivate
    }
    else
    {
        Run calc.exe
        WinWait Calculator
        WinActivate
    }

这里唯一需要做的就是修改<yourkey>你的 VAIO 按钮的代码。要找到它:

  • 右键单击托盘中的 autohotkey 图标
  • 选择打开
  • 按下(或在菜单中CtrlK选择)Key History and Script InfoView
  • 按下 VIAO 按钮,然后F5

在底部的第二列,您将找到按钮的 SC 代码。替换<yourkey>SCxxxSC123如果您的 SC 代码为 123,则为)。

答案3

您可以构建更复杂的 Microsoft 批处理脚本并将其分配给 VAIO 按钮。此脚本可以:

  • 检查临时文件夹中的标志文件。
    • 如果存在,则当窗口正在运行时将其显示在屏幕上,否则打开该程序。
    • 如果不存在,则创建它,打开程序并等待终止,然后删除标志文件。

对我来说,这里未解决的原语是创建临时文件根据进程名称查找程序使窗口在屏幕上可见。这些应该很容易找到堆栈溢出或者整个互联网。

答案4

您可以为 calc.exe 创建快捷方式并将其放在硬盘驱动器上的任何位置,然后从热键调用此快捷方式,您甚至不需要批处理。Windows 将为您处理。唉,如果有打开的 calc.exe,它将显示出来。因此,如果您将 .lnk 文件放在 C:\Windows\System32\ 中,您的 C:\Windows\System32\calc.exe 调用将是 C:\Windows\System32\calc.exe.lnk

相关内容