Option Explicit '注冊表的入口常量 Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 '注冊表的訪問權(quán)限常量 Public Const KEY_QUERY_VALUE = &H1 Public Const KEY_SET_VALUE = &H2 Public Const KEY_CREATE_SUB_KEY = &H4 Public Const KEY_ENUMERATE_SUB_KEYS = &H8 Public Const KEY_NOTIFY = &H10 Public Const KEY_CREATE_LINk = &H20 Public Const KEY_ALL_ACCESS = &H3F '打開/建立鍵值的可選項常量 Public Const REG_OPTION_NON_VOLATILE = 0& Public Const REG_OPTION_VOLATILE = &H1 '建立新鍵或打開已存在的鍵常量 Public Const REG_CREATED_NEW_KEY = &H1 Public Const REG_OPENED_EXISTING_KEY = &H2 '預(yù)先定義的訪問注冊表的權(quán)限常量 Public Const STANDARD_RIGHTS_ALL = &H1F0000 Public Const SPECIFIC_RIGHTS_ALL = &HFFFF 'API的返回代碼常量 Public Const ERROR_SUCCESS = 0& Public Const ERROR_ACCESS_DENIED = 5 Public Const ERROR_NO_MORE_ITEMS = 259 '返回數(shù)值類型常量 Public Const REG_NONE = (0) Public Const REG_SZ = (1) Public Const REG_EXPAND_SZ = (2) Public Const REG_BINARY = (3) Public Const REG_DWORD = (4) PubliC ConSt REG_DWORD_LITTLE_ENDIAN = (4) Public Const REG_DWORD_BIG_ENDIAN = (5) Public Const REG_LINK = (6) Public Const REG_MULTI_SZ = (7) Public Const REG_RESOURCE_LIST = (8) Public Const REG_FULL_RESOURCE_DESCRIPTOR = (9) Public Const REG_RESOURCE_REQUIREMENTS_LIST = (10) '訪問注冊表的API函數(shù)要用到的結(jié)構(gòu)類型 Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Boolean End Type Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type '要用到的API函數(shù)聲明 ………… |
Dim phkResult As Long '保存建立的關(guān)鍵字句柄 Dim Iresult As Long Dim SA As SECURITY_ATTRIBUTES Dim 1Create As Long '建立一個指定的關(guān)鍵字 caII RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Network\MyApi",0,"",REG_OPTION_NON_VOLATILE, _ KEY_ALL_ACCESS,SA,phkResult,1Create) 1Result=RegSetValueEx(phkResult,"yx",0,REG_SZ,"yue1975",Clng(Len("yue1975")+1)) '關(guān)閉關(guān)鍵字 RegCloseKey phkResult 現(xiàn)在用注冊表編輯器去查看一下注冊表,一定生成了您所需的鍵值。 再例如:現(xiàn)在我想把剛才建立的鍵值刪掉,那您只需如下調(diào)用即可: dim success as long success=RegDeleteKey(HKEY_LOCAL_MACHINE,"Network\MyApi") |
二. 用API生成平面工具條
'---------------------- '常量聲明 '---------------------- Public Const WM_USER = &H400 '用戶自定義消息的起點 Public Const TB_SETSTYLE = WM_USER + 56 '設(shè)置工具條風(fēng)格消息 Public Const TB_GETSTYLE = WM_USER + 57 '取得工具條風(fēng)格消息 Public Const TBSTYLE_FLAT = &H800 '使工具條COOL起來 Public Const TBSTYLE_TOOLTTPS = &H100 Public Const TBSTYLE_WRAPABLE = &H200 Public Const TBSTYLE_ALTDRAG = &H400 Public Const TBSTYLE_LIST = &H1000 Public Const TBSTYLE_CUSTOMERASE = &H2000 '----------------- 'API函數(shù)聲明 '----------------- Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long,ByVal wParam As Long,ByVal 1Param As Long) As Long Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long,ByVal 1psz1 As String,ByVal 1psz2 As String) As Long '----------------------- '通用生成平面工具條過程 '入口:工具條的名字 '----------------------- Public Sub FlatBar(ByVal tb As Toolbar) Dim style As Long Dim hToolbar As Long Dim r As Long '獲的工具條窗口句柄 hToolbar = FindWindowEx(tb.hwnd,0&,"ToolBarWindow32",vbNullString) '獲的當(dāng)前工具條的風(fēng)格 style = SendMessageLong(hToolbar,TB_GETSTYLE,0&, 0&) If style And TBSTYLE_FLAT Then style = style Xor TBSTYLE_FLAT Else style = style or TBSTYLE_FLAT End If '設(shè)置工具條的平面風(fēng)格 r=SendMessageLong(hToolbar,TB_SETSTYLE,0, style) tb.Refresh End Sub |
Call FlatBar(myTB) |
3. 運行,您的工具條一定COOL起來了。