用VB製作超連結
許多VB初學者都會有這幾個疑問「要怎麼用VB來開啟網頁呢?」、「VB能做超連結嗎?」
其實VB真的可以做超連結 謎之聲:廢話!不然叫什麼程式語言
要怎麼做出超連結功能呢? 看下去吧……
做超連結的方法有二
一、宣告API
二、利用Windows系統的cmd.exe
這兩種差別就是,前者開啟網頁時不需前置程式,而後者開啟網頁前須先開啟cmd.exe再開啟網頁,不過後者的寫法會比前者簡單
廢話不多說,教學開始吧!
.
宣告API
你知道什麼是Windows API嗎?
API(Advanced Programmers Interface,高級程式員接口)(注:API實際是指Application Programming Interface,應用程式程式設計接口;此處疑為原文錯誤,不過在VB中也可以這麼說吧!)是一套用來控制Windows的各個部件(從桌面的外觀到 位一個新進程分配的記憶體)的外觀和行為的一套預先定義的Windows函數.用戶的每個動作都會引發一個或幾個函數的運行以Windows告訴發生了什 麼.
這在某種程度上很象Windows的天然代碼.其他的語言隻是提供一種能自動而且更容易的訪問API的方法.VB在這方面作了很多工作.它完全隱藏了API並且提供了在Windows環境下程式設計的一種完全不同的方法.
這也就是說,你用VB寫出的每行代碼都會被VB轉換為API函數傳遞給Windows.例如,Form1.Print…VB 將會以一定的參數(你的代碼中提供的,或是默認參數)調用TextOut 這個API函數.
同樣,當你點擊窗體上的一個按鈕時,Windows會發送一個消息給窗體(這對於你來說是隱藏的),VB穫取這個調用並經過分析後產生一個特定事件(Button_Click).
API函數包含在Windows系統目錄下的動態連接庫文件中(如User32.dll,GDI32.dll,Shell32.dll…).
如何宣告Windows API?
在VB6.0內,有個”API 檢視員”,使用方法如下
1.開啟API 檢視員 開始→程式集→Microsoft Visual Basic 6.0→Microsoft Visual Basic 6.0 工具→API 檢視員
2.檔案→載入文字檔
3.文字檔默認路徑為C:Program FilesMicrosoft Visual StudioCommonToolsWinapi ,我們選擇Win32API.txt
4.在”請輸入欲尋找API之前幾個字母:”輸入方塊打上”shell”
5.然後選擇”ShellExecute”再按”加入”
什麼是宣告有效範圍?
使用Public宣告API,應將程式碼輸入在程式模組裡面,供整個專案程式使用
使用Private宣告API,應直接將程式碼輸入在要使用到API的那個表單上宣告,影響範圍只有該表單
以下是Public宣告ShellExecute的程式碼:
Public 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
將以上程式碼放在程式模組裡面
接著就可以使用超連結功能了
Call ShellExecute(Me.hwnd, “open”, “網址輸入於此”, “”, “”, vbNormalFocus)
vbNormalFocus 就是讓開啟的網頁(程式)能夠「正在使用中」也就是「獲得焦點」
舉個例子:
Call ShellExecute(Me.hwnd, “open”, “https://it-easy.tw/”, “”, “”, vbNormalFocus)
如此就會開啟「電腦不難」
如何?是不是很簡單啊?
.
利用Windows系統的cmd.exe
用此方法又更簡單了,唯一的缺點就是它不是「直接」開啟,而是透過cmd.exe
完全不需宣告,請不要自作聰明又去宣告API
方法如下:
shell “cmd.exe /c start ” & “網址輸入於此”
舉例:
shell “cmd.exe /c start ” & “https://it-easy.tw/”
如此就會開啟「電腦不難」
.
.
這兩種方法你愛用哪種都可以,沒什麼差
不過透過cmd的方式開啟問題可能比較多
剛開始你會覺得這些程式碼好難記,不用擔心,用久了自然就會了
本篇教學到此結束