kja*_*ack 2 vb6 shellexecute default-browser
我使用此代码(来自MSDN)打开默认浏览器.
Private 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
Private Sub Command1_Click()
Dim r As Long
r = ShellExecute(0, "open", "http://www.microsoft.com", 0, 0, 1)
End Sub
Run Code Online (Sandbox Code Playgroud)
它仅适用于IE和chrome,如果一个实例已经打开,它只是广告一个标签并返回所请求的页面.
如果没有实例已经打开,则会创建一个新实例但页面永远不会加载并最终超时.
只有firefox似乎在两种情况下都能正常工作.
然后我尝试了一种技术(在此详述),我在其中创建了一个临时的htm文件,以便查找关联的应用程序,然后使用下面的一个Shell调用来查看:
Shell "C:\Program Files\Internet Explorer\iexplore.exe https://www.google.co.uk/", vbNormalFocus
Shell "C:\Program Files\Mozilla Firefox\firefox.exe https://www.google.co.uk/", vbNormalFocus
Shell "C:\Users\Kjack\AppData\Local\Google\Chrome\Application\chrome.exe https://www.google.co.uk/", vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
这次FF和IE都工作,但chrome仍然有同样的问题.
有谁知道解决这个问题?
编辑添加有关操作系统和浏览器版本的详细信息:
操作系统:Windows Vista Home Basic 32位
FireFox 20.0.1
IE 9.0.8112.16421
Opera 12.15 Build 1748
镀铬26.0.1410.64米
自从Win2k&Me到达之后,你也有了一个干净的基于COM的界面.它提供Unicode支持,无需旋转:
With CreateObject("Shell.Application")
.ShellExecute "http://www.microsoft.com"
End With
Run Code Online (Sandbox Code Playgroud)
该示例允许所有可选参数(包括动词)默认.正如肯·怀特在答案中已经指出的那样,你希望动词在这种情况下是默认的.
| 归档时间: |
|
| 查看次数: |
5791 次 |
| 最近记录: |