VB6 打开网址/URL(包括 mailto 协议)的方法比较及最简单完美方法
Posted by Admin L in VB6 Programming on 29-08-2011. Tags: VB6 编程经验
作者:牧山道人
原文地址:https://www.seeksunslowly.com/vb6-easiest-perfect-open-url-mailto-methods-sc
转载请注明出处,谢谢。
_____________________________________
首先列出三种常见打开网址/URL 的方法:
1、使用 Win32 API
[cc lang=”vb”]
‘ API 定义。
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
‘ 调用。
ShellExecute 0&, vbNullString, YourURL, vbNullString, vbNullString, vbNormalFocus
[/cc]
优点:能满足各种网址/URL 调用需求,包括 mailto 协议 URL;能调用默认程序打开相应协议的 URL,如调用默认浏览器(如 Firefox)开启 HTTP、HTTPS 协议的 URL,调用默认邮件客户端(如 Outlook)开启 mailto 协议的 URL。
缺点:需要声明 API,比较繁琐。
2、使用 Shell(“explorer YourURL”)
优点:简洁。
缺点:不能打开带参数的 URL(含有 =&? 等符号);不支持 mailto 协议;只会调用 IE 而不是默认浏览器打开网址。
3、使用 Shell “rundll32.exe url.dll,FileProtocolHandler YourURL”
举例:
调用默认浏览器开启复杂 HTTP 或 HTTPS URL:
[cc lang=”vb”]
Shell “rundll32.exe url.dll,FileProtocolHandler https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XXXXXXXXXXXXX”
[/cc]
调用默认邮件客户端开启 mailto 协议 URL:
[cc lang=”vb”]
Shell “rundll32.exe url.dll,FileProtocolHandler mailto:[email protected]”
[/cc]
优点:简洁;能满足各种网址/URL 调用需求,包括 mailto 协议 URL;能调用默认程序打开相应协议的 URL,如调用默认浏览器(如 Firefox)开启 HTTP、HTTPS 协议的 URL,调用默认邮件客户端(如 Outlook)开启 mailto 协议的 URL。
缺点:无。
综上所述,方法 3 兼具方法 1 和 2 的优点,且没有缺点。故该方法为 VB6 中最简单最完美的打开网址/URL(包括 mailto 协议)的方法。当然,其他编程语言也可以参考本文总结出最简单完美方法。
最后再加强一下记忆:
[cc lang=”vb”]
Shell “rundll32.exe url.dll,FileProtocolHandler YourURL”
[/cc]