当前位置:主页   - 电脑 - 程序设计 - VB
Outlook Express邮件客户端的自动化配置
来源:网络   作者:   更新时间:2012-08-22
收藏此页】    【字号    】    【打印】    【关闭

  在部署一个政府OA系统中的邮件模块时,由于用户全都是五六十岁的老人,邮件客户端统一采用Outlook Express,甲方项目经理要求邮件客户端的配置实现全自动化,非常头疼,好不容易才解决,来此与大家分享。

  输入分析:

  要配置邮件客户端,以下几个输入是必须由用户来完成的:

  1.用户名,即PREFIX,@之前的内容

  2.域

  3.输入密码

  存储分析:

  用户输入数据的存储位置如下:

  1.用户名——存于注册表(明文)

  2.域——存于注册表(明文)

  3.输入密码——存于注册表(密文)

  技术选取:

  有了以上两步需求,接下来就开始技术选择。由于必须访问注册表,所以排除所有的web技术,ActiveX成本较高,也排除

  .NET Winform应用程序配置麻烦,排除

  VB/VC应用程序配置较简单,但不如VBScript轻量

  VBScript可以通过shell object来访问注册表

  VBScript可双击直接运行,无需特别定制界面

  综上分析,故选用VBScript来进行配置。

  代码:

  代码如下,参照了华盛顿市府的配置解决方案:

setoShell=wscript.CreateObject("Wscript.Shell")
Functionmain()
  dimusername,domain
  
  username=inputbox("EnteryourEmailPREFIXorUSERNAME(BEFOREthe@signbutNOTincludingthe@sign)","OutlookExpressProfileCreator","Username")
  
  Ifusername=""Then
    wscript.Quit(0)
  EndIf
  
  Ifusername="Username"Then
    whileusername="EnteryourEmailPREFIXorUSERNAME"
      username=inputbox("EnteryourEmailPREFIXorusername(beforethe@sign)","OutlookExpressProfileCreator","Username")
        Ifusername=""Then
          wscript.Quit(0)
        EndIf
    wend
  EndIf
          
  domain=inputbox("EnteryourDomain(AFTERthe@signbutNOTincludingthe@sign)","OutlookExpressProfileCreator","Domain")
  
  Ifdomain=""Then
    wscript.Quit(0)
  EndIf
  
  Ifdomain="Domain"Then
    whiledomain="EnterYourDomainnameHere"
      username=inputbox("EnteryourDomainname(AFTERthe@signbutNOTincludingthe@sign)","OutlookExpressProfileCreator","Domain")
        Ifdomain=""Then
          wscript.Quit(0)
        EndIf
    wend
  EndIf
'  username=Ltrim(fixme(username))
'  domain=fixme2(domain)
'EXAMPLESTRINGFORRTRIM
'  RTrim(string)
  callplaceMailSettings(username,domain)
  
  msgbox("OutlookExpressConfigurationComplete,pleasestartOutlookExpressandenteryourpasswordwhenprompted.")
EndFunction
FunctionregRead(regStr)
 regRead=oShell.RegRead(regStr)
EndFunction
FunctionregWrite(val1,val2,val3)
 oShell.RegWriteval1,val2,val3
EndFunction
FunctionregDelete(regStr)
 calloShell.RegDelete(regStr)
EndFunction
'Functionfixme(strValue)
'  dimuserEntry
'  userEntry=split(strValue,"@")
'  fixme=userEntry(0)
'EndFunction
'Functionfixme2(strValue2)
'  dimuserEntryd
'  userEntryd=split(strValue2,"@")
'  fixme2=userEntryd(0)
'EndFunction
'EXAMPLESTRINGFORSPLIT
'  Split(expression[,delimiter])
  
'----------------------------------------------------------------------------------------
'PlacenewsettingsforMail
'----------------------------------------------------------------------------------------
FunctionplaceMailSettings(theUsername,theDomain)
  OnErrorResumeNext
  dimnewAccountNum,numKeyStr
  dimusername,domain
  newAccountNum=regRead("HKCUSoftwareMicrosoftInternetAccountManagerAccountName")
  
  IfnewAccountNum=""Then
 

分享到:

其它资源

来源声明

  • 版权与免责声明
    1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
    2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
    3、本站部分文章来源于本站原创,本站拥有所有权利。
    4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
    请参阅权责声明

进入 esk365.com 首页