【发布时间】:2013-12-13 04:06:02
【问题描述】:
我在发布模式下构建了一个应用程序。
我希望当我通过 Visual Studio(F5 键)运行应用程序时,变量 is_vshost 具有值 true,如果我重建应用程序并直接在 Windows 资源管理器中打开它,它具有值 false。我怎么能这样做?谢谢!
【问题讨论】:
标签: c# if-statement vshost32
我在发布模式下构建了一个应用程序。
我希望当我通过 Visual Studio(F5 键)运行应用程序时,变量 is_vshost 具有值 true,如果我重建应用程序并直接在 Windows 资源管理器中打开它,它具有值 false。我怎么能这样做?谢谢!
【问题讨论】:
标签: c# if-statement vshost32
你可以检查的值
System.Diagnostics.Process.GetCurrentProcess().ProcessName
在 VS 中运行时应该是 devenv.exe。
【讨论】:
在代码中,您可以通过查看 CurrentDomain.FriendlyName 来检查 vshosts.exe 是否正在运行。如果它以“.vshosts.exe”结尾,那么它正在运行。
bool is_vshost = false;
int i = AppDomain.CurrentDomain.FriendlyName.IndexOf(".");
string s = AppDomain.CurrentDomain.FriendlyName.Substring(i);
if (s == ".vshosts.exe")
is_vshost = true;
【讨论】: