简单问题,给100分

suonety 2003-10-13 05:00:24
请问如何读取局域网中另一台机器注册表中的某个健值,请给出具体实现代码,谢谢
...全文
50 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
suonety 2003-10-19
  • 打赏
  • 举报
回复
windows自带的Regedit和Regedit32都有访问远程注册表的功能!
只是不知道具体如何实现
算了,解帖
skyit 2003-10-14
  • 打赏
  • 举报
回复
如果远程的注册表可以读取的话对方必须要开启相应的服务的啊!
要知道这个可是操作系统的COM组件啊。
看看底层的编程吧!
vrv0129 2003-10-14
  • 打赏
  • 举报
回复
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
Jackile 2003-10-14
  • 打赏
  • 举报
回复
Studying...
subzero 2003-10-14
  • 打赏
  • 举报
回复
注册表不是有远程服务么?
Gelim 2003-10-14
  • 打赏
  • 举报
回复
还有问题,请给我消息!
Gelim 2003-10-14
  • 打赏
  • 举报
回复
'注册表的操作

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 = 7

Private 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 String

DSNName = "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) + 1

RegCreateKey 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
kmzs 2003-10-13
  • 打赏
  • 举报
回复
还是白说
wzf007 2003-10-13
  • 打赏
  • 举报
回复
WINSOCK就不用说了
主要查查几个API,我记不清了。抱歉
wzf007 2003-10-13
  • 打赏
  • 举报
回复
这主要是WINSOCK控件和几个API函数的组合使用,查查资料就知道了
suonety 2003-10-13
  • 打赏
  • 举报
回复
楼上的,具体怎么做?
yunfeng007 2003-10-13
  • 打赏
  • 举报
回复
你可以通过dcom的方式来进行服务器端的注册表读取,例如通过调用WScript组件进行注册表的操作。
suonety 2003-10-13
  • 打赏
  • 举报
回复
我再把问题说清楚一点吧
我的程序是C/S模式的,客户端和服务器端分别安装在局域网中的两台机器上,我需要客户端程序能够知道服务端程序安装的具体路径
我想的办法是在服务器端安装程序中写一段脚本,在服务器段软件安装的时候将安装路径写入注册表
现在的问题是我在客户端如何读取服务端的注册表

如果你有更好的办法同样给分
Jackile 2003-10-13
  • 打赏
  • 举报
回复
有具体的代码么?偶也想知道,用控件好象不行,只能得到IP
qflash 2003-10-13
  • 打赏
  • 举报
回复
楼上的主意不错。
“要用到WINSOCK编程.”用 winsock控件就可以了把。
xuxiongjun 2003-10-13
  • 打赏
  • 举报
回复
要做一个客户端的程序,钩子程序或者一个定时器时时刷新有没有命令从服务器发消息过来,
如有,读注册表(用API),然后发送消息给服务器,
要用到WINSOCK编程.
qflash 2003-10-13
  • 打赏
  • 举报
回复
API里的注册表函数也没有这个功能啊。

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧