在vb中用createobject(“组件名”,“服务器名”)调用远程dcom组件,无法指定用户名和密码,而在vc中情况要好得多。难道,是微软故意让
据我所知调用远程dcom组件在vb中可用createobject(“组件名”,“服务器名”)调用或者是根据注册表中记录的guid和服务器名信息直接用as new 来调用。但是,以上两种方法在调用远程dcom组件时,都将使用默认的用户名和密码(即:用户登陆客户机时使用的用户名和密码)而无法自定义用户名和密码。由此造成的结果是:服务器端要将dcomcnfg.exe编辑器中被调用组件的属性/安全选项卡的相关属性设置成“everyone”来降低服务器组件的安全性,否则客户端无法用默认用户名,密码来调用服务器组件;
还有一种解决方法是将客户端的用户名,密码设置成与服务器端完全相同(在有成千上万客户机的系统中,我们不可能要求每一个用户都用相同的用户名,密码登陆自己的个人机,所以这种方法显然不可行)。
但是,在vc中用CoCreateInstanceEx()函数调用远程dcom组件时,就可以在该函数参数中指定用户名,密码。
难道,是微软故意让而vb调用远程dcom的功能如此不健全么???????