田草博客

互联网田草博客


网友交流QQ群:11740834 需注明申请加入原因

微信 公众号:ByCAD

邮箱:tiancao1001x126.com
ByCAD,微信公众号
首页 | 普通 | 电脑 | AutoCAD | VB/VB.NET | FLash | 结构 | 建筑 | 电影 | BIM | 规范 | 软件 | ID

评论列表

所有评论
[116] [117] [118] [119] [120] [121] [122] [123] [124] [125]  ... [144]  
田草 于 2008-02-25 09:42 PM 发表评论:
今天在评论立面加入了UBB代码
查看所评论的日志:田草日志
田草 于 2008-02-25 08:19 PM 发表评论:
新浪娱乐讯 央视2008年元宵晚会今晚在中央电视台录制,同时,“我最喜爱的春节晚会节目”颁奖活动也在现场公布。赵本山小品《火炬手》众望所归获得了一等奖,在发表获得感言时表示,希望今后多推新人。以下为完全获奖名单:

  特等奖

  赈灾诗朗诵 《温暖2008》

  一等奖 

  语言类:小品《火炬手》(赵本山、宋丹丹、刘流)

  歌舞类:舞蹈《飞天》(广州军区政治部战士文工团)

  戏曲类:相声剧《公交协奏曲》 (冯巩、阎学晶、王宝强(听歌 blog))

  二等奖 

  语言类:

    小品《开锁》(黄宏、巩汉林、董卿(blog)、林永健)

    小品《梦幻家园》(蔡明(blog)、王平、郭达)

  歌舞类:

    歌曲《田野的春天》(宋祖英(听歌))

  歌曲《青花瓷》(周杰伦( 听歌))

  戏曲类:

    杂技《激情爬杆》(宣武区北京杂技团)

  相声《疯狂股迷》(武宾、李伟健)

  三等奖

  语言类: 

  小品《军嫂上岛》(孙涛、黄晓娟、金玉婷( blog)、尹北琛)

  小品《街头卫士》(句号、韩雪( 听歌 blog)、周炜)

  小品《新闻人物》(郭冬临、周涛)

  歌舞类 

  互动表演及歌曲《等待》(杨光)

  歌曲《农民工之歌》(王宝强领唱)

  奥运歌曲《同一个梦想》(陈奕迅(听歌)、韦唯等)

  戏曲类 

  手影戏《逗趣》(焦建中、石磊(blog))

  杂技《花式篮球》(沈阳军区前进杂技团)

  戏曲联唱《姹紫嫣红》 
查看所评论的日志:2008年春晚节目单
田草 于 2008-02-25 01:04 PM 发表评论:
第一滴血4的火力也忒猛了点,阔刀雷?
鲜血铸成的汉字约翰兰博真是让人崇拜。
查看所评论的日志:田草日志
田草 于 2008-02-23 09:29 PM 发表评论:
哈哈,开心快乐每一天。
查看所评论的日志:元宵节合家欢乐
dylansue 于 2008-02-23 04:53 PM 发表评论:
节后更快乐!
查看所评论的日志:元宵节合家欢乐
tiancao1001 于 2008-02-22 08:45 PM 发表评论:
BAT得到这个值
 
@echo off
for /f %%i in ('reg query "hku"^|findstr /c:"S-1-5-21"') do set reg=%%i
set reg=%reg:~11,44%
echo %reg%
pause>nul
 

查看所评论的日志:取得HKEY_USERS\S-1-5-21-XXX……的键名
田草 于 2008-02-22 05:25 PM 发表评论:
'取得AutoCAD各版本的注册表HKEY_USERS路径
Function GetAutoCAD_RegPath() As String
    Dim Temp As String
    Temp = Left(ThisDrawing.Application.Version, 4)
    Dim Temp1 As String
    '路径还只能是"\"而不是"/"
    Temp1 = GetUserRegKey + "\Software\Autodesk\AutoCAD\R" & Temp & "\"
    Dim hKey As Long
    Dim i
    Dim Temp2 As String * 256
    Temp2 = Space(256)
    Dim Temp3 As String
        If RegOpenKey(HKEY_USERS, Temp1, hKey) = ERROR_SUCCESS Then
        While RegEnumKey(hKey, i, Temp2, 256) = ERROR_SUCCESS
            '只有一个子键
            '去掉最后一个字符,不知道是什么
            Temp3 = Left(Trim(Temp2), Len(Trim(Temp2)) - 1)
            GetAutoCAD_RegPath = "HKEY_USERS\" & Temp1 & Temp3 & "\"
            i = i + 1
        Wend
        RegCloseKey hKey
    End If
End Function
查看所评论的日志:取得HKEY_USERS\S-1-5-21-XXX……的键名
田草 于 2008-02-22 03:50 PM 发表评论:
'**模 块 名:RegWork
'**创 建 人:叶帆
'**日    期:2003年01月11日
'**修 改 人:
'**日    期:
'**描    述:注册表操作(不同类型,读写方法有一定区别)
'**版    本:版本1.0
'*************************************************************************
'---------------------------------------------------------------
'-注册表 API 声明...
'---------------------------------------------------------------
'关闭登录关键字
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
'建立关键字
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As Long, ByRef lpdwDisposition As Long) As Long
'打开关键字
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
'返回关键字的类型和值
Private Declare Function RegQueryValueEx_SZ Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegQueryValueEx_DWORD Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, ByRef lpcbData As Long) As Long

'将文本字符串与指定关键字关联
Private Declare Function RegSetValueEx_SZ Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegSetValueEx_DWORD Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Long, ByVal cbData As Long) As Long
Private Declare Function RegSetValueEx_BINARY Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
        (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" _
        (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, _
        ByVal cbName As Long) As Long

'删除关键字
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
'从登录关键字中删除一个值
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long

'---------------------------------------------------------------
'- 注册表 Api 常数...
'---------------------------------------------------------------
' 注册表的数据类型
Public Enum REGValueType
    [REG_SZ] = 1                             ' Unicode空终结字符串
    [REG_EXPAND_SZ] = 2                      ' Unicode空终结字符串
    [REG_BINARY] = 3                         ' 二进制数值
    [REG_DWORD] = 4                          ' 32-bit 数字
    [REG_DWORD_BIG_ENDIAN] = 5
    [REG_LINK] = 6
    [REG_MULTI_SZ] = 7                       ' 二进制数值串
End Enum

' 注册表创建类型值...
Const REG_OPTION_NON_VOLATILE = 0       ' 当系统重新启动时,关键字被保留

' 注册表关键字安全选项...
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL
Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL
Const KEY_EXECUTE = KEY_READ
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
                       KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
                       KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL

' 注册表关键字根类型...
Public Enum REGRoot
  [HKEY_CLASSES_ROOT] = &H80000000
  [HKEY_CURRENT_USER] = &H80000001
  [HKEY_LOCAL_MACHINE] = &H80000002
  [HKEY_USERS] = &H80000003
  [HKEY_PERFORMANCE_DATA] = &H80000004
End Enum

' 返回值...
Const ERROR_NONE = 0
Const ERROR_BADKEY = 2
Const ERROR_ACCESS_DENIED = 8
Const ERROR_SUCCESS = 0


'---------------------------------------------------------------
'- 注册表安全属性类型...
'---------------------------------------------------------------
Private Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Boolean
End Type

'*************************************************************************
'**函 数 名:WriteRegKey
'**输    入:ByVal KeyRoot(REGRoot)         - 根
'**        :ByVal KeyName(String)          - 键的路径
'**        :ByVal SubKeyName(String)       - 键名
'**        :ByVal SubKeyType(REGValueType) - 键的类型
'**        :ByVal SubKeyValue(String)      - 键值
'**输    出:(Boolean) - 成功返回True,失败返回False
'**功能描述:写注册表
'**全局变量:
'**调用模块:
'**作    者:叶帆
'**日    期:2003年01月10日
'**修 改 人:
'**日    期:
'**版    本:版本1.0
'*************************************************************************
Public Function WriteRegKey(ByVal KeyRoot As REGRoot, ByVal KeyName As String, ByVal SubKeyName As String, ByVal SubKeyType As REGValueType, ByVal SubKeyValue As String) As Boolean
    Dim rc As Long                                      ' 返回代码
    Dim hKey As Long                                    ' 处理一个注册表关键字
    Dim hDepth As Long                                  '
    Dim lpAttr As SECURITY_ATTRIBUTES                   ' 注册表安全类型
    Dim i As Integer
    Dim bytValue(1024) As Byte
   
    lpAttr.nLength = 50                                 ' 设置安全属性为缺省值...
    lpAttr.lpSecurityDescriptor = 0                     ' ...
    lpAttr.bInheritHandle = True                        ' ...

    '------------------------------------------------------------
    '- 创建/打开注册表关键字...
    '------------------------------------------------------------
    rc = RegCreateKeyEx(KeyRoot, KeyName, 0, SubKeyType, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, lpAttr, hKey, hDepth)

                                   ' 创建/打开//KeyRoot//KeyName
    
    If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError   ' 错误处理...
    
    '------------------------------------------------------------
    '- 创建/修改关键字值...
    '------------------------------------------------------------
    If (SubKeyValue = "") Then SubKeyValue = " "        ' 要让RegSetValueEx() 工作需要输入一个空格...
    Select Case SubKeyType                                        ' 搜索数据类型...
        Case REG_SZ, REG_EXPAND_SZ                                ' 字符串注册表关键字数据

类型
             '------------------------------------------------------------------
             rc = RegSetValueEx_SZ(hKey, SubKeyName, 0, SubKeyType, ByVal SubKeyValue, LenB(StrConv(SubKeyValue, vbFromUnicode)))
             If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError   ' 错误处理
             '------------------------------------------------------------------
        Case REG_DWORD                                            ' 四字节注册表关键字数据

类型
            '-------------------------------------------------------------------
             rc = RegSetValueEx_DWORD(hKey, SubKeyName, 0, SubKeyType, Val("&h" + SubKeyValue), 4)
             If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError   ' 错误处理
            '-------------------------------------------------------------------
        Case REG_BINARY                                           ' 二进制字符串
            '-------------------------------------------------------------------
             Dim intNum As Integer
             intNum = 0
             For i = 1 To Len(Trim(SubKeyValue)) - 1 Step 3
               intNum = intNum + 1
               bytValue(intNum - 1) = Val("&h" + Mid(SubKeyValue, i, 2))
             Next i
            
             rc = RegSetValueEx_BINARY(hKey, SubKeyName, 0, SubKeyType, bytValue(0), intNum)
             If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError   ' 错误处理
            '-------------------------------------------------------------------
        Case Else
           '--------------------------------------------------------------------
           GoTo CreateKeyError                                    ' 错误处理
           '--------------------------------------------------------------------
    End Select
    
    '- 关闭注册表关键字...
    '------------------------------------------------------------
    rc = RegCloseKey(hKey)                              ' 关闭关键字
    WriteRegKey = True                                  ' 返回成功
    Exit Function                                       ' 退出
    '-------------------------------------------------------------------------------------
CreateKeyError:
    WriteRegKey = False                                 ' 设置错误返回代码
    rc = RegCloseKey(hKey)                              ' 试图关闭关键字
End Function

'*************************************************************************
'**函 数 名:ReadRegKey
'**输    入:KeyRoot(Long)     - 根
'**        :KeyName(String)   - 键的路径
'**        :SubKeyRef(String) - 键名
'**输    出:(String) - 返回键值
'**功能描述:读注册表
'**全局变量:
'**调用模块:
'**作    者:叶帆
'**日    期:2003年01月10日
'**修 改 人:
'**日    期:
'**版    本:版本1.0
'*************************************************************************
Public Function ReadRegKey(ByVal KeyRoot As REGRoot, ByVal KeyName As String, ByValSubKeyName As String) As String
    Dim i As Long                                            ' 循环计数器
    Dim rc As Long                                           ' 返回代码
    Dim hKey As Long                                         ' 处理打开的注册表关键字
    Dim hDepth As Long                                       '
    Dim sKeyVal As String
    Dim lKeyValType As Long                                  ' 注册表关键字数据类型
    Dim tmpVal As String                                     ' 注册表关键字的临时存储器
    Dim KeyValSize As Long                                   ' 注册表关键字变量尺寸
    Dim lngValue As Long
    Dim bytValue(1024) As Byte
           
    '------------------------------------------------------------
    ' 在 KeyRoot下打开注册表关键字
    '------------------------------------------------------------
    rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)   ' 打开注册表关键字
    
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError                 ' 处理错误...
    
    '------------------------------------------------------------
    ' 检测键的类型
    '------------------------------------------------------------
    rc = RegQueryValueEx(hKey, SubKeyName, 0, lKeyValType, ByVal 0, KeyValSize)

                     ' 获得/创建关键字的值
    
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError                 ' 处理错误...
     
    '------------------------------------------------------------
    '读相应的键值
    '------------------------------------------------------------
    Select Case lKeyValType                                         ' 搜索数据类型...
       Case REG_SZ, REG_EXPAND_SZ                                  ' 字符串注册表关键字数据

类型
            '--------------------------------
            tmpVal = String$(1024, 0)                               ' 分配变量空间
            KeyValSize = 1024                                       ' 标记变量尺寸
  
            rc = RegQueryValueEx_SZ(hKey, SubKeyName, 0, 0, tmpVal, KeyValSize)

                    ' 获得/创建关键字的值
            If rc <> ERROR_SUCCESS Then GoTo GetKeyError           ' 错误处理
            
            
           If InStr(tmpVal, Chr(0)) > 0 Then sKeyVal = Left(tmpVal, InStr(tmpVal, Chr(0)) - 1)     ' 复制字符串的值
            '--------------------------------
       Case REG_DWORD                                               ' 四字节注册表关键字数

据类型
            '--------------------------------
            KeyValSize = 1024                                       ' 标记变量尺寸
            rc = RegQueryValueEx_DWORD(hKey, SubKeyName, 0, 0, lngValue, KeyValSize)

                    ' 获得/创建关键字的值
            If rc <> ERROR_SUCCESS Then GoTo GetKeyError            ' 错误处理
            sKeyVal = "0x" + Hex(lngValue)
            '--------------------------------
       Case REG_BINARY                                              ' 二进制字符串
            '--------------------------------
            rc = RegQueryValueEx(hKey, SubKeyName, 0, 0, bytValue(0), KeyValSize)

                    ' 获得/创建关键字的值
            
            If rc <> ERROR_SUCCESS Then GoTo GetKeyError            ' 错误处理
            
            sKeyVal = ""
            For i = 1 To KeyValSize
              
              If Len(Hex$(bytValue(i - 1))) = 1 Then
                 sKeyVal = sKeyVal + "0" + Hex(bytValue(i - 1)) + " "
              Else
                 sKeyVal = sKeyVal + Hex(bytValue(i - 1)) + " "
              End If
              
            Next i
            
            '--------------------------------
       Case Else
            '--------------------------------
            sKeyVal = ""
            '--------------------------------
    End Select
        
    '----------------------------------------
    ReadRegKey = sKeyVal                                      ' 返回值
    rc = RegCloseKey(hKey)                                    ' 关闭注册表关键字
    Exit Function                                             ' 退出
'-----------------------------------------------------------------------------------------

GetKeyError:                                                  ' 错误发生过后进行清除...
    ReadRegKey = ""                                      ' 设置返回值为错误
    rc = RegCloseKey(hKey)                                    ' 关闭注册表关键字
End Function

'*************************************************************************
'**函 数 名:DelRegKey
'**输    入:KeyRoot(Long)     - 根
'**        :KeyName(String)   - 键的路径
'**        :SubKeyRef(String) - 键名
'**输    出:(Long) - 状态码
'**功能描述:删除关键字
'**全局变量:
'**调用模块:
'**作    者:叶帆
'**日    期:2003年01月11日
'**修 改 人:
'**日    期:
'**版    本:版本1.0
'*************************************************************************
Public Function DelRegKey(ByVal KeyRoot As REGRoot, ByVal KeyName As String, ByVal SubKeyName As String) As Long

    Dim lKeyId          As Long
    Dim lResult         As Long
    
    DelRegKey = 0           ' 假定成功
    
    '检测设置的参数
    If Len(KeyName) = 0 And Len(SubKeyName) = 0 Then
        ' 键值没设置则返回相应错误码
        DelRegKey = ERROR_BADKEY
        Exit Function
    End If
        
    ' 打开关键字并尝试创建它,如果已存在,则返回ID值
    lResult = RegCreateKey(KeyRoot, KeyName, lKeyId)
    
    If lResult = 0 Then
        '删除关键字
        DelRegKey = RegDeleteKey(lKeyId, ByVal SubKeyName)
    End If

End Function
'*************************************************************************
'**函 数 名:DelRegValue
'**输    入:KeyRoot(Long)     - 根
'**        :KeyName(String)   - 键的路径
'**        :SubKeyRef(String) - 键名
'**输    出:(Long) - 状态码
'**功能描述:从登录关键字中删除一个值
'**全局变量:
'**调用模块:
'**作    者:叶帆
'**日    期:2003年01月11日
'**修 改 人:
'**日    期:
'**版    本:版本1.0
'*************************************************************************
Public Function DelRegValue(ByVal KeyRoot As REGRoot, ByVal KeyName As String, ByVal SubKeyName As String) As Long

    Dim lKeyId          As Long
    Dim lResult         As Long
   
    DelRegValue = 0           ' 假定成功
    
    '检测设置的参数
    If Len(KeyName) = 0 And Len(SubKeyName) = 0 Then
        ' 键值没设置则返回相应错误码
        DelRegValue = ERROR_BADKEY
        Exit Function
    End If
        
    ' 打开关键字并尝试创建它,如果已存在,则返回ID值
    lResult = RegCreateKey(KeyRoot, KeyName, lKeyId)
    
    If lResult = 0 Then
        '从登录关键字中删除一个值
        DelRegValue = RegDeleteValue(lKeyId, ByVal SubKeyName)
    End If

End Function
查看所评论的日志:VB三个注册表操作模块(都来自网络)
[116] [117] [118] [119] [120] [121] [122] [123] [124] [125]  ... [144]  
Tiancao Blog All Rights Reserved 田草博客 版权所有
Copyright ©