top
Loading...
如何提高調用WindowAPI函數編程技巧

一.創建臨時文件

---- 臨時文件用來保存軟件運行過程中的臨時變化,這對于熟悉WORD等軟件的人來說,經常會遇到。那么臨時文件是如何產生的呢,其實很簡單,只需要一個API函數就可以。

---- 1.拷貝聲明函數(方法同前)

Private Declare Function GetTempFileName Lib "kernel32" _
Alias "GetTempFileNameA" (ByVal lpszPath As String, _
ByVal lpPrefixString As String, ByVal wUnique As Long, _
ByVal lpTempFileName As String) As Long

參數定義如下:

lpszPath =傳入保存臨時文件的路徑 ,如"C:mytemp"

lpPrefixString=傳入臨時文件名開始的前三個字母,

起到幫助識別臨時文件來源的作用。

wUnique =0 ,windows隨機產生文件名;否則安其值定義文件名。

lpTempFileName=返回隨機文件名

---- 2.返回臨時文件名

Private Function GenTempName(sPath As String)
Dim sPrefix As String
Dim lUnique As Long
Dim sTempFileName As String

If IsEmpty(sPath) Then sPath = "c:emp"
sPrefix = "TVB"
lUnique = 0 'windows隨機給名

sTempFileName = Space$(100)
GetTempFileName sPath, sPrefix, lUnique, sTempFileName
sTempFileName = Mid$(sTempFileName, 1,
InStr(sTempFileName, Chr$(0)) - 1) '去掉多余空格
GenTempName = sTempFileName
End Function


---- 3.將下面代碼加入到form1_click()事件中

MsgBox GenTempName("c:emp")

---- 4.運行,鼠標點擊form,彈出msgbox,顯示生成"c:empTVB724.tmp"文件,用文件管理器查看,在c:emp下有TVB724.tmp 文件,長度為0K。

---- 需要注意的是,傳入的路徑必須是有效路徑,否則GenTempName函數返回0,lpTempFileName中也沒有臨時文件名。

二.結束語

---- 從上面可以看出,API函數的確簡單高效,但也充滿一些看似高深的變量而使人卻步。我們不禁會問,究竟什么時候要用到API函數?具體哪些函數可以解決我的問題?,那些函數中的變量都代表什么?其實對這些問題,即使對一個VB高手也難給出明確的回答,因為API函數庫實在太龐大了,每一個人最終只能熟悉其中的一小部分(這也可能是調用API的文章層出不窮的原因吧)。總結自己的一點經驗,我覺得應該注意以下幾點。

---- 1.熟練掌握VB基本技巧,了解其所能所不能,這是最基本的要求。

---- 2.了解WINDOWS內部控制機理,這樣對一些復雜的問題就可以逐步分析其調用機制,初步確定采用哪部分的API函數來解決問題。

---- 3.案頭必備一本最新的VB版的WINDOWS API 大全。

---- 4.多看別人的程序。報紙雜志,尤其是網上這方面的文章數不清。這是最快的方法。

---- 5.隨用隨查。永遠不要在用不到的函數上浪費寶貴的時間


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗