请问如何读取局域网中另一台机器注册表中的某个健值,请给出具体实现代码,谢谢

解决方案 »

  1.   

    API里的注册表函数也没有这个功能啊。
      

  2.   

    要做一个客户端的程序,钩子程序或者一个定时器时时刷新有没有命令从服务器发消息过来,
    如有,读注册表(用API),然后发送消息给服务器,
    要用到WINSOCK编程.
      

  3.   

    楼上的主意不错。
    “要用到WINSOCK编程.”用 winsock控件就可以了把。
      

  4.   

    你可以通过dcom的方式来进行服务器端的注册表读取,例如通过调用WScript组件进行注册表的操作。
      

  5.   

    这主要是WINSOCK控件和几个API函数的组合使用,查查资料就知道了
      

  6.   

    WINSOCK就不用说了
    主要查查几个API,我记不清了。抱歉
      

  7.   

    '注册表的操作Option Explicit
    Const HKEY_CLASSES_ROOT = &H80000000
    Const HKEY_CURRENT_USER = &H80000001
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const HKEY_USERS = &H80000003
    Const HKEY_PERFORMANCE_DATA = &H80000004
    Const HKEY_CURRENT_CONFIG = &H80000005
    Const HKEY_DYN_DATA = &H80000006
    Const REG_NONE = 0
    Const REG_SZ = 1
    Const REG_EXPAND_SZ = 2
    Const REG_BINARY = 3
    Const REG_DWORD = 4
    Const REG_DWORD_BIG_ENDIAN = 5
    Const REG_MULTI_SZ = 7Private Declare Function RegSetValueEx Lib "advapi32.dll" 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 RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Private Sub Command1_Click()
    Dim hKey As Long
    Dim DSNName, strDriver, strServer, strDatabase, strLastUser, strDBType As StringDSNName = "myodbc"strDriver = "C:\\WINNT\\System32\\sqlsrv32.dll" 'SQL Server的驱动,如果用VFP可以改成相应的文件
    strServer = "SERVER"
    strDatabase = "test"
    strLastUser = "sa"
    strDBType = "SQL Server"RegCreateKey HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", hKey
    RegSetValueEx hKey, DSNName, 0, REG_SZ, ByVal strDBType, Len(strDBType) + 1RegCreateKey HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\" & DSNName, hKey
    RegSetValueEx hKey, "Driver", 0, REG_EXPAND_SZ, ByVal CStr(strDriver), Len(strDriver) + 1
    RegSetValueEx hKey, "Server", 0, REG_SZ, ByVal CStr(strServer), Len(strServer) + 1
    RegSetValueEx hKey, "Database", 0, REG_SZ, ByVal CStr(strDatabase), Len(strDatabase) + 1
    RegSetValueEx hKey, "LastUser", 0, REG_SZ, ByVal CStr(strLastUser), Len(strLastUser) + 1
    End Sub
      

  8.   

    Const HKEY_CLASSES_ROOT = &H80000000
    Const HKEY_CURRENT_USER = &H80000001
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const HKEY_USERS = &H80000003
    Const HKEY_PERFORMANCE_DATA = &H80000004
    Const HKEY_CURRENT_CONFIG = &H80000005
    Const HKEY_DYN_DATA = &H80000006
    Const REG_NONE = 0
    Const REG_SZ = 1
    Const REG_EXPAND_SZ = 2
    Const REG_BINARY = 3
    Const REG_DWORD = 4
    Const REG_DWORD_BIG_ENDIAN = 5
    Const REG_MULTI_SZ = 7
      

  9.   

    如果远程的注册表可以读取的话对方必须要开启相应的服务的啊!
    要知道这个可是操作系统的COM组件啊。
    看看底层的编程吧!
      

  10.   

    windows自带的Regedit和Regedit32都有访问远程注册表的功能!
    只是不知道具体如何实现
    算了,解帖