在vb环境下的K3登录界面,资料非常大.也很容易找到.但是相对而言.net的就少了不少.
本人曾为金蝶k3的二次开发工程师.最近闲来无事,将以前的成果分享出来.
方案一:调用类库.该方法的特点是需要引用com组件,并且添加到项目中.具体代码如下:
k3Login._ClsLogin loginer = new k3Login.ClsLoginClass( );
if(loginer.CheckLogin( ))
MessageBox.Show("OK");
else
MessageBox.Show("NOK");
是不是代码非常少,而且很简单.
loginer对象中有很多有趣的属性,非常有用的属性,这里就不详细介绍了.
看官自己去看吧.
方案二是直接调用com组件,代码稍微多点,但是不需要任何DLL或者com的引用.
代码如下:
try {
Type t = System.Type.GetTypeFromProgID("K3Login.ClsLogin");
if(t == null) {
MessageBox.Show("加载金蝶登录器失败,需要安装金蝶客户端.", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
object loginer = Activator.CreateInstance(t);
if(loginer == null) {
return;
}
object o = t.InvokeMember("CheckLogin", BindingFlags.Default | BindingFlags.InvokeMethod, null, loginer, null);
if(Convert.ToBoolean(o))
MessageBox.Show("OK");
else
MessageBox.Show("NOK");
//获取指定属性的数据
MessageBox.Show(t.InvokeMember("PropsString", BindingFlags.GetProperty, null, loginer, null).ToString());
} catch {
}
代码稍微多点,但是感觉比第一种横加"专业"
关于登录的先到这里.以后会陆续补充其他.net下的技术