如何在主控台调用外部程序,并把当前登陆用户、密码传递

栏目:k3wise知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

如何在主控台调用外部程序,并把当前登陆用户、密码传递

请教老师一个问题:
外部开发了特殊业务的功能后,通过自定义主控台可以在主控台调用,但,如何和获得当前登陆的用户和密码,并传入外部程序?
是否需要单独写一个vb主控台插件,在主控台插件中获取用户名、密码,然后,在主控台插件中调用外部程序,同时传递用户名和密码。如果这种方案可行,如何编写主控台插件及获取用户名密码?谢谢

收到,谢谢

第三方系统单点登录K3WISE 供参考如下代码:

Private Sub cmdTest_Click()
Dim obj As Object
Dim KFO As Object
Dim sK3Path As String
Dim sParm As String
Dim sBakSplit As String

Set KFO = CreateObject("KFO..Reg")
'获取K3ERP路径
sK3Path = KFO.GetKeyValue("HKEY_LOCAL_MACHINE\SOFTWARE\KINGDEE\KDPRODUCT", "Path", "")
'从注册表获主控台登录取命令参数分隔符,备份起来以便恢复
sBakSplit = KFO.GetKeyValue("HKEY_CURRENT_USER\SoftWare\KingDee\K3", "LoginParm", "")
'1 sLoginType String 登录方式:-LoginWin 域用户身份登录-LoginUser 命名用户身份登录
'2 sAcctNumber String 账套代码 例如帐套代码为:01.01
'3 sOrgPass String 组织机构密码,例如组织机构01的代码为:888888,无组织机构时传入空即可
'4 sUserName String 用户名,如果以域用户身份登录时传入空
'5 sUserPass String 用户密码,如果以域用户身份登录时传入空
'命令参数规则 sLoginType + " " + sAcctNumber + " " + sOrgPass + " " + sUserName + " " + sUserPass

'根据客户应用场景,选择以下任意一种登录方式
'第一种登录方式:以当前WINDOWS域用户身份无界面登录 -LoginWin
'比如:要登录帐套的代码为01.01 机构组织密码为888888,则命令参数应如下
sParm = "-LoginWin" & " " & "01.01" & " " & "888888" '各参数以空格符隔开

'第二种登录方式:以命名用户身份无界面登录 -LoginUser
'比如:要登录帐套的代码为01.01 机构组织密码为888888 用户名为Administrator,密码为123456,则命名参数如下:
sParm = "-LoginUser" & " " & "01.01" & " " & "888888" & " " & "Administrator" & " " & "123456" '各参数以空格符隔开

'将无界面登录命令参数分隔符号(空格)信息写到注册,以便Shell KDMain时读取分割命令参数
Call KFO.SetKeyValue("HKEY_CURRENT_USER\SoftWare\KingDee\K3", "LoginParm", " ")

Call Shell(sK3Path & "KDMain.exe " & sParm, vbNormalFocus) '打开K3主控台

'还原注册表信息
Call KFO.SetKeyValue("HKEY_CURRENT_USER\SoftWare\KingDee\K3", "LoginParm", sBakSplit)

Set KFO = Nothing
End Sub

如何在主控台调用外部程序,并把当前登陆用户、密码传递

请教老师一个问题: 外部开发了特殊业务的功能后,通过自定义主控台可以在主控台调用,但,如何和获得当前登陆的用户和密码,并传入...
点击下载文档
标签: # K/3 WISE-BOS
分享:
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息