iluxa1810 Asked:2020-10-08 01:05:16 +0000 UTC2020-10-08 01:05:16 +0000 UTC 2020-10-08 01:05:16 +0000 UTC 通过 CMD 快速启动程序 772 告诉我需要做什么才能通过控制台按名称运行程序? 例如,如果您在 CMD 中写入 Skype 一词,则 Skype 将启动。 c# 2 个回答 Voted Best Answer Pavel Mayorov 2020-10-08T01:22:26Z2020-10-08T01:22:26Z 当您向控制台写入命令时,会在 PATH 环境变量的目录中查找它。 只有两个选择。 或者将带有程序的目录添加到 PATH - 或者将程序放在 PATH 中已经存在的目录中。 VladD 2020-10-08T04:11:00Z2020-10-08T04:11:00Z Microsoft 推荐的方法是App Paths 注册表项。当您输入一个程序名称时,它会在工作目录、目录Windows和Windows\System32、环境变量中列出的目录PATH以及注册表项中进行搜索App Paths。 要仅向当前用户注册,请使用密钥 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths 对于全局注册,使用相同的路径,但在HKEY_LOCAL_MACHINE. 让你的程序被调用myapp.exe。myapp.exe在 中创建嵌套键App Paths。放置一个包含应用程序完整路径(Default)的 type 值。REG_SZ您还可以在此处指定其他应用程序启动选项。例如,您可以PATH在程序启动时将感兴趣的目录添加到环境变量的值中。 C#中的代码: using System; using System.Linq; using System.Reflection; using Microsoft.Win32; namespace AppPathRegistration { class Program { static void Main(string[] args) { if (args.FirstOrDefault() == "/install") Install(); else Run(); } const string appPathsName = @"Software\Microsoft\Windows\CurrentVersion\App Paths"; static void Install() { var name = "lalafa.exe"; var path = Assembly.GetEntryAssembly().Location; using (var appPaths = Registry.CurrentUser.CreateSubKey(appPathsName)) using (var subkey = appPaths.CreateSubKey(name)) subkey.SetValue(null, path); } static void Run() { Console.WriteLine("Test application, press any key to finish..."); Console.ReadKey(intercept: true); } } } 请注意,您注册的名称不必与您的程序名称相匹配。 其他特性见官方文档。 通过/ functionsApp Paths启动程序时会考虑注册表项。不窥视注册表,也不会发现重定向。但是 Windows shell 和命令行使用 shell 函数。ShellExecuteShellExecuteExCreateProcess 这是此密钥的一些历史(英文)。
当您向控制台写入命令时,会在 PATH 环境变量的目录中查找它。
只有两个选择。
或者将带有程序的目录添加到 PATH - 或者将程序放在 PATH 中已经存在的目录中。
Microsoft 推荐的方法是App Paths 注册表项。当您输入一个程序名称时,它会在工作目录、目录
Windows和Windows\System32、环境变量中列出的目录PATH以及注册表项中进行搜索App Paths。要仅向当前用户注册,请使用密钥
对于全局注册,使用相同的路径,但在
HKEY_LOCAL_MACHINE.让你的程序被调用
myapp.exe。myapp.exe在 中创建嵌套键App Paths。放置一个包含应用程序完整路径(Default)的 type 值。REG_SZ您还可以在此处指定其他应用程序启动选项。例如,您可以PATH在程序启动时将感兴趣的目录添加到环境变量的值中。C#中的代码:
请注意,您注册的名称不必与您的程序名称相匹配。
其他特性见官方文档。
通过/ functions
App Paths启动程序时会考虑注册表项。不窥视注册表,也不会发现重定向。但是 Windows shell 和命令行使用 shell 函数。ShellExecuteShellExecuteExCreateProcess这是此密钥的一些历史(英文)。