|  | 
 
| 其实我一直是用 Becky!Internet Mail 的,不过因为有些客户常出差,公司一台PC,出差又用NB,会造成邮件上的困扰,Outlook Express 又是大家最习惯的,相对移殖也方便,档案 copy 过去就行了。用 Exchange Server 的公司也少,不然 RPC over HTTP 也挺方便的。 所以就想把 Outlook Express 放在随身碟上,只要执行 Portable Outlook Express.exe 前导程式就有自已的邮件环境了。
 
 以下只是个思路,程式语法都是错的
 
 复制代码
If 进程里有 msimn.exe 则离开
$ID = RegRead("HKEY_CURRENT_USER\Identities", "Last User ID") ;读出 Last User ID 字串载入 $ID 变数(Outlook Express 设定值所在)
$WAB = RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name", "@") ;读出 @ 字串载入 $WAB 变数(通讯录的设定值所在)
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name","original",$WAB) ;将 通讯录 的原始路径作个备份
RegRename = ("HKEY_CURRENT_USER\Identities\$ID") ("HKEY_CURRENT_USER\Identities\$ID.original") ;机码更名(为了备份前一份的设定档)
TextReplace = (%currdir%\Settings\user.reg);;;;不会写,就是搜寻 %currdir%\Settings\user.reg 这个档案的字串,首先先寻找
Last User ID 这个字串去取出整串的 "Last User ID"="{C35CBB31-0F8B-4886-B881-36E0A6EF3646}"
然后再从这之中再取出 {C35CBB31-0F8B-4886-B881-36E0A6EF3646} 这个值,再将这个值化作变数 $SID
然后再对 %currdir%\Settings\user.reg 这个档案作寻找取代的动作,如:
TextReplace = (%currdir%\Settings\user.reg, $SID , $ID) ;就是将 user.reg 里的 $SID 取代为 $ID 以便下一行去作汇入
RegImport (%currdir%\Settings\user.reg) ;汇入当前目录下 .\Settings\user.reg 的注册表
RegWrite ("HKEY_CURRENT_USER\Identities\$ID\Software\Microsoft\Outlook Express\5.0","Store Root","%currdir%\DBX") ;将邮件档案路径 指向到 当前目录的 .\DBX 下
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name","@","%currdir%\Address\address.wab") ;将 通讯录 指向到 当前目录的 .\Address\address.wab 这个档案
if exist "%programfile%\Outlook Express\msimn.exe" 则执行 start /wait msimn.exe ;考虑到多国语言 Windows 的关系
else 执行 start /wait "%currdir%\msimn.exe" ;如果 Windows 找不到则执行随身碟当前目录下的 msimn.exe ,程序未关闭前不会注销此前导程式
endif
RegExport ("HKEY_CURRENT_USER\Identities") %currdir%\Settings\user.reg ;OE 关闭了,准备汇出设定档到 .\Settings\user.reg ,以备下次使用。
RegRename = ("HKEY_CURRENT_USER\Identities\$ID.original") ("HKEY_CURRENT_USER\Identities\$ID") ;机码更名(还原原本的设定档)
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name","@",$WAB) ;将 通讯录 的原始路径还原
RegDelete ("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name","original") ;删除之前 通讯录 的原始路径备份
Exit
 有手动照着步骤做测试过是可行的,但写成程式我就不会了
 这个语法很像是 Autoit3 和 批处理 混杂的不正确。
 其中的 机码更名 和 读出档案再文字替换取代 我不会用 Autoit 写出来,太逊了。
 因为这二个不会写,所以就随便写个思路出来。
 如果写好的话就可放在随身碟带着跑了,可惜的是 Vista 不能跑。
 或者和 WinPE 配合的话也很好(前题是网卡驱动要完全)
 Portable Outlook Express\msimn.exe   ;放 OE 程式的资料夹
 Portable Outlook Express\Settings\user.reg  ;个人的设定值,如帐号、邮件规则及地址
 Portable Outlook Express\Address\address.wab ;通讯录
 Portable Outlook Express\DBX\  ;DBX 档放这儿
 | 
 |