发信人: zeng_zhe()
整理人: hunter__fox(2002-03-16 23:36:01), 站内信件
|
经研究,请参考:
*!***************************
PROC ODBCREG
PARA P_ODBCNAME,P_ODBCTYPE
IF EMPTY(P_ODBCNAME)
P_ODBCNAME="MYSYS2"
P_ODBCTYPE="SQL Server"
ENDIF
DECLARE INTEGER RegOpenKey IN Win32API INTEGER nHKey,STRING cSubKey,IN TEGER @nHandle
DECLARE INTEGER RegCreateKey IN Win32API INTEGER nHKey,STRING cSubKey, INTEGER @nHandle
DECLARE INTEGER RegSetValueEx IN Win32API INTEGER nHKey, STRING lpszEn try, INTEGER dwReserved,INTEGER fdwType,STRING lpbData,INTEGER cbData
#DEFINE HKEY_CLASSES_ROOT -2147483648
#DEFINE HKEY_CURRENT_USER -2147483647
#DEFINE HKEY_LOCAL_MACHINE -2147483646
#DEFINE HKEY_USERS -2147483645
#DEFINE ERROR_SUCCESS 0
#DEFINE ERROR_SUCCESS 0
&& 在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources中新建 字符串值
&& 名称:Mysys1 数据:SQL Server
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources ",P_ODBCNAME,P_ODBCTYPE)
&& 在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI中新建一个子键Mysys1
=crearegk(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME)
&& 再在Mysys1下创建一些键值。
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME,"Dat abase","pubs")
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME,"Des cription","pubs-memo")
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME,"Dri ver"," C:\WINNT\System32\sqlsrv32.dll")
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME,"Las tUser","ZZ")
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME,"Ser ver","HP-SERVER-O")
=WRITREGS(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBC.INI\"+P_ODBCNAME,"Tru sted_Connection","Yes")
*!********************************
FUNCTION CREAREGK
LPARAMETERS HKey,SUBKEY
&& 新建项
LOCAL nRsult,nHandle
nHandle=0
nResult=RegCreateKey(HKey,SubKey,@nHandle)
IF nResult # ERROR_SUCCESS
RETURN .NULL.
ENDIF
RETURN .T.
*!********************************
FUNCTION WRITREGS
LPARAMETERS HKey,SubKey,Entry,Value
&& 修改项值
LOCAL nHandle,nResult,nSize,cDataBuffer,nType
nHandle=0
nResult=RegOpenKey(HKey,SubKey,@nHandle)
IF nResult # ERROR_SUCCESS
RETURN .NULL.
ENDIF
nSize=len(value)
nResult=RegSetValueEx(nHandle,Entry,0,1,Value,nSize)
=RegCloseKey(nHandle)
IF nResult # ERROR_SUCCESS
RETURN .NULL.
ENDIF
RETURN .T.
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.124]
|
|