發表文章

目前顯示的是 11月, 2014的文章

安裝W3 Jmail元件(VBS範例)

W3 Jmail是一個可以拿來讓程式方便發送郵件的函式庫。 官方網站:http://www.dimac.net/ 下載檔案安裝完成後,還要做下列幾個動作才能被程式正常呼叫到。 STEP01-將jmail dll檔案複製到系統資料夾 1、Windows 95/98/Me系統,將jmail.dll copy to C:\Windows\System目錄下。 2、Windows NT/2000系統,將jmail.dll copy to C:\WINNT\System32目錄下。 3、Windows XP/WIN7/Vista系統,將jmail.dll copy to C:\Windows\System32目錄下。 4、如果您的系統是64位元的請將檔 copy to C:\Windows\SysWOW64目錄 STEP02-註冊dll元件 regsvr32 %windir%\system32\jmail.dll 程式範例 #VBS# Set jMail=wscript.CreateObject("JMail.Message") jMail.logging=true jMail.From="alex@mail.com" '寄件者Mail' jMail.FromName="Alex" '寄者名稱' jmail.addrecipient "alex@mail.com" '收者者Mail' jMail.Charset="utf-8" 'Mail 編碼' jMail.Subject="這是來自於VBS透過JMail發出的郵件" 'Mail 主旨' jMail.HTMLBody="這是來自於VBS透過JMail發出的郵件!" 'Mail Body' jMail

在64位元系統下執行VBS

一般在32位元作業系統下執行VBSript(*.vbs)檔案只要點兩下就可以正常執行了,但同一個VBScript檔案拿到64位作業系統下就可能發生無法執行的錯誤。 原來在64位元作業系統下預設會使用64位元的VBScript,但如果我們VBSript裡有使用到32位元的COM或DLL,則會發生無法找到元件的錯誤,此時只要轉個彎,使用64位元作業系統下的32位元VBScript指令就可以了。 執行cmd後,再用下列批次指令執行寫好的VBScript檔案就可以了。 %windir%\SysWOW64\wscript.exe d:\abc\test.vbs PS. 前者為32位元的wscript, 後者為要執行的VBS檔案 reference web: http://blog.yam.com/yzl1218/article/63031542

透過ASP執行VBS

圖片
當有需要執行一個大量資料更新的邏輯時,若單純使用ASP程式雖然可以達到效果,但往往因為執行時間較長,導致一些問題產生, Request-Response時間很長時,若有其他在相同目錄下的網頁會發生無法正常瀏覽。原因是被判定為同一Session,必需要等上一個執行作業完成後,才會輪到後來執行的網頁解譯。 若想要中斷剛剛Submit的資料處理,經實測後,就算把IIS重新啟動(iisreset /restart),程序依然無法中止,必需要把Server重開機後,才會真正刪除程序 如果把資料處理邏輯改寫至VBS,而ASP只扮演啟動VBS的角色,則可以快速的結束Request-Reponse的作業,可以在Server利用微軟工具Process Explorer看到正在執行的程序(工作管理員只能看到多個wscript.exe的程序,無法知道實際執行的VBS檔名),可以視情況刪除程序。 <工作管理員> <Process Explorer> ※ Process Explorer需要設定欄位,可參考此網址 http://alexlucy99.blogspot.tw/2014/11/process-explorer.html 執行環境: Windows 2003 Server IIS ASP VBS ASP Code set wshell = CreateObject("WScript.Shell") wshell.run "cmd.exe /c cscript D:\VBS_TEST.vbs", 0, false set wshell = nothing 備註: 測試時發現一個狀況,如果執行的VBS有被Windows工作排程設定,ASP是無法正常執行VBS,原因尚未找出來。暫時可以解決的方法為工作排程連結一個批次檔(BAT),而該批次檔再去執行VBS,遶一下彎就可以了

比工作管理員好用的Process Explorer

圖片
微軟提供的Process Explorer工具可以看到更多的執行程式資訊。 下載網址: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx 例如有在開發VBS(VBScript)程序的人,若同時有多個程式在背景執行時,使用Windows內建的工作管理員看程序時,會面臨無法分辨出哪個才是你想要處理的程序,因為每個都顯示為wscript.exe。 如果使用Process Explorer時,則可以看到wscript真正執行的VBS檔案路徑及名稱了。 預設Process Explorer沒有顯示[Command Line]欄位,必需要手動設定一次。 STEP-1 在任何一個欄位標題上,按右鍵 STEP-2 在[Process Image]頁籤勾選[Command Line]選項即可