如何打开VB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何打开VB相关的知识,希望对你有一定的参考价值。

我是菜鸟

参考技术A 调用API的功能实现,
因相应的API较复杂,不太好理解,我用子程序对它做了封装。
实际使用过程中你将下面这段代码Copy到程序模块中,然后调用SubOpenFile子程序就行了。

'注意在引用该FSO功能时先引用 Microsoft Scripting Runtime
Public ObjFso As New FileSystemObject

Declare Function shellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Sub SubOpenFile(ByVal FileSaveName As String, ByVal StrFrmName As Form)

'打开文件
'输入:sFileName 待打开文件的全路径加上文件名,如 "F:\VB\RunExe\Module1.bas"
'输入:调用该子程序的窗体名称

If Not ObjFso.FileExists(FileSaveName) Then
MsgBox ("没有找到要打开的文件")
Exit Sub
End If

sCorrectPath = ObjFso.GetParentFolderName(FileSaveName)
sFileName = ObjFso.GetFileName(FileSaveName)

'输入:调用该子程序的窗体名称
lHwnd = StrFrmName.hwnd
'lShellFile = shellExecute(lHwnd, "open", FileSaveName, vbNullString, sCorrectPath, SW_SHOWNORMAL)
lShellFile = shellExecute(lHwnd, "open", FileSaveName, vbNullString, sCorrectPath, 5)

'错误处理
If lShellFile > 32 Then
Exit Sub
Else
Select Case lShellFile
Case 2
If Right(sFileName, 3) <> "htm" Then
MsgBox "File Not Found.", vbCritical + vbOKOnly, "X-File:"
End If
Exit Sub
Case 3
MsgBox "Path not Found.", vbCritical + vbOKOnly, "X-File:"
Exit Sub
Case 5
MsgBox "Access denied.", vbCritical + vbOKOnly, "X-File:"
Exit Sub
Case 8
MsgBox "Out of Memory.", vbCritical + vbOKOnly, "X-File:"
Exit Sub

Case 32
MsgBox "Shell32.dll not Found.", vbCritical + vbOKOnly, "X-File:"
Exit Sub
End Select
End If

End Sub本回答被提问者采纳
参考技术B 装一个vs studio

如何使用 VB .NET 中的默认浏览器打开 URL?

【中文标题】如何使用 VB .NET 中的默认浏览器打开 URL?【英文标题】:How do I open a URL using the default browser in VB .NET? 【发布时间】:2021-03-26 17:52:59 【问题描述】:

如何在 VB .NET 中使用计算机的默认浏览器打开 URL? 我在网上搜索了一下,发现:

Dim URL As String = "http://www.google.com/"
Process.Start(URL)

或者只是:

Procecss.Start("google.com")

但所有这些都不起作用。对于这 2 个,它说“系统找不到指定的路径” 我正在使用 Visual Studio Community 2019

【问题讨论】:

您忘记提及您正在使用的 .Net 版本。如果是 .Net Core 或 .Net 5,则略有不同,因为一些 defaults 不同。 我正在使用 .Net 核心,但我找到了解决方案。感谢您的宝贵时间。 这能回答你的问题吗? How to open in default browser in C# all these are not working - 应该有一点read the comments 和scroll down。 我也这样做了,但是我认为因为它是 C#,所以这无关紧要,但现在我似乎找到了相似之处。 【参考方案1】:

您需要编辑路径变量并使浏览器的路径对程序可见。

或者,您可以在代码中指定路径,例如:

Process.Start("<browser.exe file path>", "example.com")

【讨论】:

您可以使用ProcessStartInfo 对象并设置UseShellExecute = true。所以你不需要知道哪个是默认的WebBrowser来查找它的可执行路径。 如果您的问题已经解决,请考虑accepting it。 @Jimi 我已经尝试过了,但出现以下错误:System.NullReferenceException: 'Object reference not set to an instance of an object.'

以上是关于如何打开VB的主要内容,如果未能解决你的问题,请参考以下文章

如何解决VB中WebBrowser控件持续打开网页占用的内存

如何解决VB中WebBrowser控件持续打开网页占用的内存

如何在打开对话框的表单窗口顶部打开 VB.Net 对话框窗口?

如何使用 VB .NET 中的默认浏览器打开 URL?

VB 如何调用系统默认程序打开指定网页?

如何在VB中打开一个新表单但关闭旧表单