微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在我的游戏中添加“open with …”功能

右键单击文件时,可以选择“打开方式…”选项以启动该程序并自动打开该程序中的文件.我猜大家都知道.

现在我正在构建一个统一的游戏(脚本在c#中),我希望我的完成构建支持这个功能,这样我的用户/玩家可以右击,比如一个存档游戏文件,选择打开,然后选择我的游戏可执行.然后游戏应该开始并加载已保存的游戏.

如何实现此功能?从文件系统使用此选项时会发生什么?如何在游戏中处理它?

我不是在问如何实际加载游戏(不管怎么说,每个游戏都不同),我只需要知道我如何“捕获”用户使用我的game.exe打开文件的情况.

解决方法:

如果要将程序添加到“打开方式”上下文菜单
(您需要做的是在安装程序中,添加一个注册表项,指向您的应用程序,如here所述
如果你没有安装程序(我认为unity 5可以为你建立一个),你可以通过调用在游戏中完成

Microsoft.Win32.Registry.SetValue(key, valueName, value, Microsoft.Win32.RegistryValueKind.String);

在场景中使用脚本.或者您可以在C#中编写一个安装程序来执行此操作.)

如果您只想处理使用应用程序打开的文件,则需要在unity播放器中获取命令行参数,如文件路径.在加载1st的场景中编写脚本,该脚本读取System.Environment.GetCommandLineArgs()返回的字符串数组.第一个参数是可执行文件名称,因此您需要执行以下操作:

string filepath;
string arguments = System.Environment.GetCommandLineArgs();
if (arguments.Length >= 2)
{
    filepath = arguments[1];
    DoYourThing(filepath);
}
return;

如果您然后右键单击您的文件,使用您的应用程序打开它,操作系统会将文件路径传递给应用程序,作为第二个命令行参数,并使用上面的代码,您将阅读它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐