c# - 确定控制台应用程序是从命令行还是从 Powershell 运行

标签 c# powershell command-line console-application

如何确定控制台应用程序是从 Powershell 还是应用程序内的标准命令行运行?

最佳答案

这样的事情可能比检查窗口标题更可靠:

using System;
using System.Diagnostics;

Process p = Process.GetCurrentProcess();
PerformanceCounter parent = new PerformanceCounter("Process", "Creating Process ID", p.ProcessName);
int ppid = (int)parent.NextValue();

if (Process.GetProcessById(ppid).ProcessName == "powershell") {
  Console.WriteLine("running in PowerShell");
} else {
  Console.WriteLine("not running in PowerShell");
}

[source ]

关于c# - 确定控制台应用程序是从命令行还是从 Powershell 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27022501/

相关文章:

maven - 在命令行上添加一个 maven(发行版)存储库

c# - 何时使用 GetXXX() 方法以及何时使用 Getter 属性

c# - 来自 SQL Server 的 MVC 4 Google 图表

swift - macOS 命令行代码在 Swift 中获取数据的现代方式,并带有进度通知

java - 从 Java 调用 Powershell 会无限执行

powershell - 带有删除选项的 Curl 命令引发异常

c# - Visual Studio 2012 命令行编译器

c# - 从另一个 List<> 中删除 List<> 中包含的对象?

c# - 在单个元素级别应用 Linq Func<T, TResult> 键选择器

powershell - 如何使用PowerShell递归搜索目录中的所有文件,包括隐藏目录中的隐藏文件?