首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

我把一个类型的文件比如.xd文件的打开方式设置成我自己的软件,在双击...

发布网友 发布时间:2022-04-25 12:52

我来回答

1个回答

热心网友 时间:9分钟前

不好意思因为最近没有登录,现在才看到你的信息,不知道你解决了没有。

设置关联后一般文件路径会作为第一个命令行参数传递给程序,可以这样得到它:
My.Application.CommandLineArgs(0)

要用代码设置关联需要操作注册表。比如.xd关联到E:\SSY\Test.exe,先创建HKEY_CLASSES_ROOT\SSY\shell\open\command子键(SSY最好换成你程序的名称),将command的默认值设为“E:\SSY\Test.exe %1”(打开文件时"%1"会被换成文件路径);然后创建HKEY_CLASSES_ROOT\.xd子键(xd前面的个点),将其默认值改成SSY(上面创建的HKEY_CLASSES_ROOT下的子键名)就行了。代码可以这样(为了方便你测试我把它关联到记事本notepad.exe,你把它改成你的程序路径就行了):
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
My.Computer.Registry.ClassesRoot.CreateSubKey(".xd").SetValue(Nothing, "SSY")
My.Computer.Registry.ClassesRoot.CreateSubKey("SSY").CreateSubKey("shell").CreateSubKey("open").CreateSubKey("command").SetValue(Nothing, "notepad %1")
End Sub
注意这个操作要管理员权限,如果你开了UAC的话要“以管理员身份运行”

注册表的操作方法:http://msdn.microsoft.com/zh-cn/library/x61a1z4s(VS.100).aspx
关于命令行参数:http://msdn.microsoft.com/zh-cn/library/microsoft.visualbasic.applicationservices.consoleapplicationbase.commandlineargs.aspx?queryresult=true

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com