有没有办法通过Visual Studio菜单/工具栏优雅地关闭正在运行的应用程序?

时间:2018-05-11 16:29:59

标签: visual-studio visual-studio-2013

有没有办法使用Visual Studio(我正在使用2013)菜单/工具栏命令优雅地关闭正在运行的应用程序(例如注入WM_CLOSE消息)?

显然,如果您在断点处暂停,这将无法工作,除非您首先继续。

我问,因为我的应用程序通常不在视图中(由另一个应用程序覆盖),而我正在调试,也许在我继续之后。根据我的理解,使用“停止调试”会立即停止应用程序。因此,我正在使用的HttpListener不会很好地停止和关闭。然后在另一个会话中再次连接需要通过浏览器跳过箍。

我考虑使用像AutoHotkey这样的东西。菜单工具 - 外部工具之外是否有解决方案?

即使外部工具是唯一的方法,我还没有找到一种方法来将当前运行的可执行文件作为参数。我可以接近$(BinDir),但它基于活动文件。

1 个答案:

答案 0 :(得分:0)

使用Visual Studio的外部工具来调用AutoHotkey(AHK)脚本的bat文件是一个笨重的解决方案。如果你可以可靠地获得执行二进制文件的路径,它会更好:

限制:

  • 取决于您要关闭的二进制文件中包含的源文件是否处于活动状态(即,如果您选择的源文件是另一个二进制文件的一部分。
  • 可能取决于您的目标是Windows可执行文件。

Visual Studio菜单工具 - 外部工具......:
标题:Close Program
命令:<path to bat file>
参数:$(BinDir)$(TargetName).vshost$(TargetExt)

蝙蝠文件

@echo off
"<Path to AHK script>" %1

<强> AutoHotkey的

Path := A_Args[1]
WinClose, ahk_exe %Path%