VB.NET 设置默认文本编辑器

VB.NET Set Default Text Editor

我在 Visual Basic 2013 中创建了自己的文本编辑器。我想从应用程序外部用它打开文本文件:从桌面双击打开它们或右键单击并打开。

我尝试使用右键单击并打开,但它不起作用,它只会打开我的应用程序。

如何让我的文本编辑器成为我用来打开文本文件的编辑器?

您必须使用类似 Environment.GetCommandLineArgs 的方法。

将其放入您的表单加载事件中:

Dim CommandLineArguments() As String = Environment.GetCommandLineArgs()
If CommandLineArguments.Length >= 2 AndAlso String.IsNullOrEmpty(CommandLineArguments(1)) = False AndAlso IO.File.Exists(CommandLineArguments(1)) Then
    Me.TextBox1.Text = IO.File.ReadAllText(CommandLineArguments(1))
End If

这会将命令行参数发送到您的应用程序(这是您尝试使用应用程序打开的文件的路径)并检查参数是否为现有文件。如果是这样,它会将所有文件的文本读入您的 TextBox.

在表单加载事件中写入这段代码。

Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

 Dim fname As String = Command$()
        If Not fname = "" Then
            fname = Replace(fname, Chr(34), "")
            Dim obj As New System.IO.StreamReader(fname.ToString)
            RichTextBox1.Rtf = obj.ReadToEnd
            obj.Close()
            Me.Text = "Your Application Name " & fname

        End If

End Sub