如何打开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控件持续打开网页占用的内存