用VB實現(xiàn)編程離不開函數(shù)調(diào)用及 API函數(shù)的調(diào)用,以下是筆者收集的一些實用的小例程,它們可以直接用在你的實際編程中,也可以根據(jù)實際應用加以擴充完善。其中涉及 API函數(shù)調(diào)用的代碼你可以從VB5.0系統(tǒng)的API函數(shù)查看器中復制函數(shù)定義內(nèi)容,以避免出錯。
1.系統(tǒng)型表單
系統(tǒng)型意味著用戶完成當前表單操作之前無法進行其它操作,這對于編制系統(tǒng)口令保護界面尤為重要。如果你希望當前表單系統(tǒng)型表單,需如下定義API函數(shù):
Lib "User" (ByVal hWnd As ) As
然后調(diào)用: = ([Form].hWnd)
2.獲取驅(qū)動器類型
代碼如后:
Lib “" (ByVal As ) As
Const % = 2, % = 3
Const % = 4
3.表單在對中
本子程序功能使表單定位在屏幕中央,在表單中任何需要表單對中的地方只需加入一行代碼:
“.me”即可成功調(diào)用。
Sub (f As Form)
f.Top = (. * .5) - (f. * .5)
f.Left = (.Width * .5) - (f.Width * .5)
End Sub
4. 定義變量
許多的程序員習慣于如下定義變量:
Dim iNum, , as
實際上只有最后一個變量被設為了整型,前兩個變量則是系統(tǒng)的缺省的 數(shù)據(jù)類型,而 數(shù)據(jù)類型可用來替換任何數(shù)據(jù)類型,顯然對于精練的程序設計是不利的。 正確的方法如下:
Dim iNum as
Dim as
Dim as
5. 使文本高亮
本子程序使被觸發(fā)的諸如文本,標簽等控件的文本被選中
Sub ()
.. = 0
.. = Len(..Text)
End Sub
6. 關閉其它程序
下面的代碼可關閉內(nèi)存中的其它程序
title = "MyAPP" '定義你需關閉的程序窗口的標題
ihWnd = (0&, Title)
= (ihWnd)
iRet = (, , 0, 0&)
7. 文件存在否?
本函數(shù)返回查找的文件是否存在。
( as ) as
= IIf(Dir() "", True, False)
End
8. 主程序唯一
用下面提供的代碼作你的主程序可防止應用程序的多重執(zhí)行,你應當將它放在確信需要它的代碼模塊內(nèi)。
Sub Main()
If App. Then
.hwnd
Else
Load
End If
End Sub
上面這些精悍的代碼對于專業(yè)程序員來說非常有實用價值,希望你能從中獲得啟發(fā)。
9.用VB編寫定時關閉計算機的程序
定時關閉計算機,很顯然,有兩個關鍵點:
1.定時??梢杂肰B中的Timer控件結合計算機的系統(tǒng)時間來進行精確的定時。
2.關閉計算機。這可以調(diào)用Win32 API函數(shù) 來關閉計算機。
下面首先來說明一下 函數(shù),該函數(shù)在VB中的聲明如下:
Lib "" Alias "" (ByVal As Long, ByVal As Long) As Long
【返回值】
Long用vb做小程序,非零表示成功,零表示失敗。
【參數(shù)表】
---------Long,
指定下述一個或多個標志(用OR運算符合并到一起)
=4
強迫中止沒有響應的進程
=0
中止進程,然后注銷
=1
關掉系統(tǒng)電源(如果可能的話,ATX電源就可以)
=2 重新引導系統(tǒng)
-----Long,保留用vb做小程序,設為零
好了,現(xiàn)在可以開始編程了。
1. 新建一個標準EXE工程。
2. 在窗體上放置一個控件,用以輸入定時時間。
3. 在控件之下放置兩個控件,組成控件數(shù)組,用以選擇定時模式。
4. 在控件之下放置一個.
5. 隨便在窗體的某地方放置一Timer控件。
以上控件了需要設置的屬性值如下:
對象屬性 設置
Text1 Text 空
(0) 在指定時間關機
(1) 延遲指定的時間關機
確定
(精確到1/4分鐘,
如要更精確可減少該值)
False
增加代碼如下:
標準模塊:
Const = 1 '關閉系統(tǒng)
Lib
"" (ByVal As Long, ByVal
As Long) As Long
窗體模塊:
Dim '保存輸入時間
Dim '保存實時時間
Dim '保存開始定時時間
Sub ()
= Time
If Not (Text1.Text) Then
'用函數(shù)判斷輸入的時間格式
"你所輸入的不是時間格式,請重試!", , "Wrong"
Else
= (Text1.Text)
End If
. = True
'啟動定時器
Me. = 1
'最小化窗體
End Sub
Sub ()
= Time
If (0).Value Then
If ("s", , )