Bar*_*run 5 windows-registry windows-7
我想将我自己的自定义文件扩展名添加到 win 7 注册表中。而且我还想为此扩展添加一个右键单击选项“与 xPlayer 一起玩”。
我想在我的 C# 应用程序中使用它。我如何使用注册表来做到这一点?
MSDN 有大量关于如何在注册表中使用文件扩展名的文档。从这些文章开始:
更新:您需要至少创建以下注册表项和值(文件扩展名注册支持很多功能):
HKEY_CURRENT_USER\Software\Classes\.myext (默认) = "MyAppExt" HKEY_CURRENT_USER\Software\Classes\MyAppExt\shell\PlayWithXPlayer (默认) = "与 xPlayer 一起玩" HKEY_CURRENT_USER\Software\Classes\MyAppExt\shell\PlayWithXPlayer\command (默认) = ""c:\path to\xplayer.exe" "%1""
替换HKEY_LOCAL_MACHINE,而不是仅仅运行你的应用程序/安装用户,如果你希望你的文件扩展名是在PC上的所有用户访问。
例如:
using System;
using Microsoft.Win32;
// substitute "HKEY_LOCAL_MACHINE" if needed...
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Classes\\.xpl", "", "xPlayer", RegistryValueKind.String);
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Classes\\xPlayer\\shell\\PlayWithXPlayer", "", "Play with xPlayer", RegistryValueKind.String);
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Classes\\xPlayer\\shell\\PlayWithXPlayer\\command", "", "\"c:\\path to\\xplayer.exe\" \"%1\"", RegistryValueKind.String);
Run Code Online (Sandbox Code Playgroud)
或者:
using System;
using Microsoft.Win32;
// substitute Registry.LocalMachine if needed...
RegistryKey rkRootKey = Registry.CurrentUser;
RegistryKey rk = rkRootKey.CreateSubKey("Software\\Classes\\.xpl");
rk.SetValue("", "xPlayer", RegistryValueKind.String);
rk.Close();
rk = rkRootKey.CreateSubKey("Software\\Classes\\xPlayer\\shell\\PlayWithXPlayer");
rk.SetValue("", "Play with xPlayer", RegistryValueKind.String);
RegistryKey rk2 = rk.CreateSubKey("command");
rk2.SetValue("", "\"c:\\path to\\xplayer.exe\" \"%1\"", RegistryValueKind.String);
rk2.Close();
rk.Close();
Run Code Online (Sandbox Code Playgroud)
当你的播放器应用启动时,它可以查看它的命令行参数,如果它看到传入的文件名,它可以根据需要播放文件。
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |