我的应用程序可以在Visual Basic 2017中读取一些特定的加载扩展名。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Environment.GetCommandLineArgs(1).ToString = My.Application.Info.DirectoryPath.ToString + "\" + My.Application.Info.AssemblyName + ".exe" Then
Else
If System.IO.Path.GetExtension(Environment.GetCommandLineArgs(1)) = ".myOwnExt" Then
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText(Environment.GetCommandLineArgs(1).ToString)
MsgBox(fileReader)
End If
End If
End Sub
但我想让我的程序默认为该扩展程序,我想为这些文件设置我的图标。是否可以使用Visual Basic实现它?
答案 0 :(得分:1)
您的代码看起来像这样......
My.Computer.Registry.ClassesRoot.CreateSubKey(".myOwnExt").SetValue("", _
"myOwnExt", Microsoft.Win32.RegistryValueKind.String)
My.Computer.Registry.ClassesRoot.CreateSubKey("MyProgramName\shell\open\command").SetValue("", _
Application.ExecutablePath & " ""%l"" ", Microsoft.Win32.RegistryValueKind.String)
答案 1 :(得分:1)
以下是有关如何在VB .NET中执行此操作的完整示例。如上所述,您需要更改一些注册表设置。
https://www.codeproject.com/Articles/18594/File-Association-in-VB-NET
快速浏览一下代码GetCommandLineArgs(1)
需要更改为GetCommandLineArgs(0)
才能使其正常运行。