我不太确定从哪里开始。在 Windows 资源管理器中右键单击通用文件(例如,用于 Word 文档的 *.doc)可以选择“打开方式...”。我想知道程序如何知道“通过”了哪个文件(这是正确的词吗?)。它是通过参数完成的吗?如何在我自己的应用程序中实现这一点?
我尝试在运行时手动将文件路径添加到我的一个应用程序的参数中,但路径包含空格(表示新参数)。Windows如何解决这个问题/我需要做什么来解决这个问题?
问候,罗比
我不太确定从哪里开始。在 Windows 资源管理器中右键单击通用文件(例如,用于 Word 文档的 *.doc)可以选择“打开方式...”。我想知道程序如何知道“通过”了哪个文件(这是正确的词吗?)。它是通过参数完成的吗?如何在我自己的应用程序中实现这一点?
我尝试在运行时手动将文件路径添加到我的一个应用程序的参数中,但路径包含空格(表示新参数)。Windows如何解决这个问题/我需要做什么来解决这个问题?
问候,罗比
这是一些打开文件的VB代码:
Case Keys.F4
Process.Start("H:\OIS\PROCEDUR\OIS8ProcedureManual.doc")
在这种情况下,Windows 在文件类型中查找 .doc 并使用 .doc 条目运行 Word 并将文件名传递给它。
Process.Start 有一个包含参数的第二个参数,因此您可以在第一个参数中提供 .exe 的路径,在第二个参数中提供参数。实际上 Process.start 有 5 个签名。最强大的使用 ProcessStartInfo 类为您提供最多的控制。
如果上述方法没有帮助,请发布您为第二组问题编写的代码。
要从命令行检索使用的参数:
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim sMsg As String = ""
For Each sArg As String In My.Application.CommandLineArgs
sMsg &= sArg & ": "
Next
MsgBox(sMsg)
End Sub
将代码放在 WinForm _Load、Console Main 等中。
如果上面运行的是: Hello World 作为命令行 Hello: World: 将显示。