windows上通过自定义后缀文件启动Unity应用

  好吧,一个Unity应用并不常见的需求。。

  两个步骤

  1.关联注册表

  2.把自定义后缀文件作为启动参数传给Unity做处理

1.关联注册表  (.XXXX是自定义后缀)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\.XXXX] //首先为希望注册的扩展名,新建一个Key

[HKEY_CURRENT_USER\Software\Classes\.XXXX\shell] //然后再新建一个shell的Key

[HKEY_CURRENT_USER\Software\Classes\.XXXX\shell\open]  //然后再新建一个open的Key(open对应了打开操作)

[HKEY_CURRENT_USER\Software\Classes\.XXXX\shell\open\command] //然后再新建一个command的Key
@="D:\\XX\\XXX.exe %1"   //为command这个Key默认设置为你的自定义应用程序,其中的%1是一个占位符,表示当前的文件路径。

通过代码修改:

using Microsoft.Win32;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
       string str = this.GetType().Assembly.Location;//通过这个方法获取当前exe的路径 Registry.SetValue(
@"HKEY_CURRENT_USER\Software\Classes\.XXXX\shell\open\command", "", str+" %1"); } } }

感谢:https://www.cnblogs.com/chenxizhang/p/3256692.html

2.获取启动参数,数组里第二个参数是启动传入参数

string[] CommandLineArgs = Environment.GetCommandLineArgs();
string arg = CommandLineArgs[1];

猜你喜欢

转载自www.cnblogs.com/Mr147/p/12073516.html