C#:限制控制台应用程序的调用方式

标签 c# console-application

我们的产品是 C# 控制台应用程序。是否可以限制它仅从命令行运行?换句话说,用户将无法从脚本或其他应用程序中调用它。

如果是,一些示例代码将不胜感激。谢谢。

最佳答案

您可以使用此处给出的代码检查创建您的应用程序的进程:http://msdn.microsoft.com/en-us/netframework/aa569609.aspx#Question3 .要在 DOS 命令行启动,父进程应该是 cmd.exe。但是请注意,正如 Colin 所指出的,这可以使用批处理脚本轻松绕过。您也可以通过确保 cmd.exe 的命令提示符参数为空来禁用它。为此,您需要使用 WMI:
http://skysanders.net/subtext/archive/2010/04/11/using-wmi-to-fetch-the-command-line-that-started-all.aspx
您还应该检查 cmd.exe 图像是否来自 system32 文件夹。

关于C#:限制控制台应用程序的调用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266327/

相关文章:

c# - 如何在控制台应用程序中使文本为 "typed out"?

c# - 如何使用 C# 从 DIV 中抓取图像

c# - 创建 SOAP 请求

C# 单元测试 (Nunit) 控制台应用程序的主要方法?

c# - 在 System.ConsoleKey 值使用完毕后,如何使它无效(或分配另一个值)?

c# - 如何将系统货币符号获取到字符串

C# OPC 应用程序相同的代码,但工作方式不同

c# - Excel 与 c# : Exculde first rows when copying a range

c# - 公共(public)访问器与类的公共(public)属性

c# - 如何填充元素数量由变量确定的元组列表