關於電腦上的知識, 如 Linux, Perl, C/C++, C# …

顯示具有 免費工具 標籤的文章。 顯示所有文章
顯示具有 免費工具 標籤的文章。 顯示所有文章

2010年11月13日 星期六

自動載入「悠閒農夫」小工具

※「悠閒農夫」 可說是一個優質的軟體,
它的優點,相信用過的人都知道,
因為本文不是特別介紹「悠閒農夫」,所以就不再贅述了。

不過「悠 閒農夫」在使用時,
由於不知名的原因,在常期使用時,偶而會發生當掉的情況,
這會使得一些農夫因而錯過了農作物的採收。

※ 下面舉二個當掉的畫面,

一、
http://yfrog.com/2hleisurelyplantererror01p

二、
http://yfrog.com/jvleisurelyplantererror02p


※ 由於目前尚未發現有解決的方法,

只能由人工手動將「悠 閒農夫」重新啟動,
為此,小弟使用 AutoIt v3 寫了一個小工具,
可以在
「悠閒農夫」當掉時,
自動載入「悠 閒農夫」。

※ 功能:

※使用方法:

一、先確定您的帳號設定
記得要勾選「保存登入密碼」,不然就不能達到自動的目的囉!
確認後,要先結束「悠 閒農夫」。
http://yfrog.com/2qleisurelyplanter02p

二、將「AutoLaunchtPlanter.exe」 或「AutoLaunchtPlanter.au3」和「LeisurelyPlanter.exe」放在同一個資料夾中。
由於只能載入第一個帳號,所以有多個帳號的朋友,請將不同帳號分別放到不同的資料夾中。
http://yfrog.com/muautolaunchtplanter01p

三、執行 「AutoLaunchtPlanter.exe」或「AutoLaunchtPlanter.au3」後,
會自動執行「LeisurelyPlanter.exe」,並開始監控「LeisurelyPlanter.exe」是否當掉了
http://yfrog.com/muautolaunchtplanter01p


※本程式是以 AutoIt v3 開發
的小工具:
可以到
下面網址下載,(請優先從載點一下載)
  • 載點一:http://www.fileserve.com/list/PfXpaWN
    • 請不要使用 proxy,以免下載失敗
    • 點選您要下載的檔案
    • 點擊「免費帳戶」→「普通下載」
    • 輸入驗証碼,再點擊「普通下載」
    • 出現倒數計時,結束後再點擊「普通下載」
    • 正式開始下載
  • 載點二:http://www.easy-share.com/f/1325991040/AutoIt
    • 請不要使用 proxy,以免下載失敗
    • 點選您要下載的檔案
    • 出現倒數計時
    • 點擊「Regular Download」
    • 出現倒數計時
    • 輸入驗証碼後按下「Enter」鍵
    • 正式開始下載
  • 如果還是無法下載的朋友,請留下您的 e-mail,我在寄給您。
※注意事項:
  • AutoLaunchtPlanter.au3(原始程式,安裝 AutoIt v3 後就可以直接執行)
  • AutoLaunchtPlanter.exe(執行檔)
  • 請儘量下載較新的版本
擔心有病毒或惡意程式的人,可先下載、安裝 AutoIt v3 後,
再直接執行原始程式
AutoLaunchtPlanter.au3,就可以安心使用了。

※如何修改原始程式:
  • 先安裝 AutoIt v3,才能直接執行原始程式
  • 在檔案總管中,於「AutoLaunchtPlanter_x.xx.au3」上按滑鼠右鍵(x.xx為版本號碼)
  • 在跳出選單中,點選「Edit Script」
  • 這時系統會用「SciTE 編輯軟體」開啟「AutoLaunchtPlanter_x.xx.au3」
  • 開始進行修改
  • 修改完記得存檔

※特 殊用法(記得修改後要執行「原始程式」,才會生效哦):
  • 應該能避開「1029:has been forbidden!」(適用 v0.14 beta 之後版本)
    • 原理:檢查「悠閒農夫」在一定時間內(30秒),是否做了太多次的動作(10次),如果是則強制結束「悠閒農夫」,休息一段時間(如1分鐘)後再重新啟動。
    • 開啟 AutoLaunchtPlanter.au3 準備修改
    • 找尋「$ForbiddenCheck_InSeconds = 30」、「$ForbiddenCheck_MaxItemCount = 10」、「$ForbiddenCheck_RestingPeriod = 1 * 60 * 1000」。
    • 修改為適合的數值(目前我用上述設定,跑了一段時間沒有被封鎖),如再被封鎖則請再變更數值(0代表不做上面的檢查動作)
    • 修改完記得要存檔
  • 也許能避開「1029:has been forbidden!」(適用 v0.2 以後版本)
    • 原理:每工作一小段時間(如1分鐘),則強制結束「悠閒農夫」, 再隔一段時間(如2分鐘)後再重新啟動。
    • 開啟 AutoLaunchtPlanter.au3 準備修改
    • 找尋「$MaxWorkTime = xxxx」,此為每次可以工作的最久時間,其中的「xxxx」代表數字。
    • 修改為「$MaxWorkTime = 60 * 1000」,單位為千分之一秒,如再被封鎖則請再縮小數值
    • 找尋(在 Func Main() 之中)「
      If $StartWorkTime Then
      If TimerDiff($StartWorkTime) > $MaxWorkTime Then
      NormalEnd()
      $StartWorkTime = 0
      $restTime = 5 * 60 * 1000
      EndIf

      」
    • 把「$restTime = 5 * 60 * 1000」→「$restTime = 2 * 60 * 1000」,或修改成您要休息的時間
    • 修改完記得要存檔
  • 多個小號使用,減少 CPU 使用量(適用 v0.2 以後版本)
    • 原理:每工作一小段時間(如1.5分鐘應可處理完自己的農場),則強制結束「悠閒農夫」, 再隔一段時間(如1小時)後再重新啟動。
    • 開啟 AutoLaunchtPlanter.au3 準備修改
    • 找尋「$MaxWorkTime = xxxx」,此為每次可以工作的最久時間,其中的「xxxx」代表數字。
    • 修改為「$MaxWorkTime = 1.5 * 60 * 1000」,單位為千分之一秒,如沒有處理完自己的農場請再更改數值
    • 找尋(在 Func Main() 之中)「
      If $StartWorkTime Then
      If TimerDiff($StartWorkTime) > $MaxWorkTime Then
      NormalEnd()
      $StartWorkTime = 0
      $restTime = 5 * 60 * 1000
      EndIf

      」
    • 把「$restTime = 5 * 60 * 1000」→「$restTime = 60 * 60 * 1000」,或修改成您要休息的時間
    • 修改完記得要存檔
  • 將檢查「悠閒農夫」當掉的邏輯獨立出來,適用使用多個 AutoLaunchtPlanter 的使用者(適用全部版本)
    • 功用:節省 CPU 使用率
    • 開啟 AutoLaunchtPlanter.au3 準備修改
    • 找尋 Func Init() 中包含有「"CheckCrash"」的那一行,然後將這行刪除
    • 修改完記得要存檔
    • 另外下載「CheckPlanterCrash_x.x.zip」,其中 x.x 為版本號碼
    • 執行壓縮檔中的「CheckPlanterCrash_x.x.exe」及修改完的「AutoLaunchtPlanter.au3」

※ 版本修改記錄:
  • 2011/03/22 v0.18:
    • 新增幾個檢查「悠閒農夫」的訊息的對應動作,如:
    • 修改一個「悠閒農夫」訊息的對應動作:
      • 發現被封鎖時 → 重開「悠閒農夫」(因有時候是「悠閒農夫」判斷錯誤,重開後就可正常使用)
    • 可自訂巡視農場後的休息間隔
      • 請修改「$CheckFarmRestingPeriod」變數
      • 其值小於或等於 0 時,將使用「悠閒農夫」原本的休息間隔
    • 點擊滑鼠主鍵→點擊滑鼠左鍵(避免滑鼠左右鍵對調使用時會出錯)
    • 登入後可自動隱藏「悠閒農夫」的主畫面
      • 請修改「$CloseLeisurelyPlanterMainWindow」變數(其值為 True 或 False)
      • 預設為 False
    • 新增可顯示出程式執行到哪一行
      • 請修改「$Debug」變數(其值為 True 或 False)
      • 預設為 False
    • 新增執行原始程式(au3)也可以顯示小圖示(icon),而不是用 AutoIt 的圖示
      • 如想變更顯示的小圖示,可自行用其它小圖示取代「AutoLaunchtPlanter.ico」
  • 2011/01/27 v0.17:
    • 新增幾個檢查「悠閒農夫」的訊息的對應動作,如:
      • missing URL → 重開「悠閒農夫」
      • 不明錯誤 → 停止工作,再重新工作
      • 溝通失敗 → 重開「悠閒農夫」
    • 新增被封鎖時將「悠閒農夫」的訊息記錄下來
    • 不想記錄被封鎖時的訊息,可以找尋「$ForbiddenCheck_Log = True」,然後修改為「$ForbiddenCheck_Log = False」
  • 2011/01/21 v0.16:
    • 新增檢查網路是否連線,確定連線後才載入「悠閒農夫」,檢查方式為 ping www.facebook.com 是否成功(感謝網友小芊的 idea)
    • 不想檢查網路是否連線的人,可以找尋「$WaittingNetwork = True」,然後修改為「$WaittingNetwork = False」
  • 2011/01/17 v0.15:
    • 新增檢查工作中「帳號被鎖定」的事件,發現時,會每隔一分鐘自動重新工作
    • 取消 0.14 beta1、0.14 beta2 的功能(想用的人仍然可修改後使用)
    • 不想將悠閒農夫最小化的人,可以找尋「$MinimalLeisurelyPlanter = True」,然後修改為「$MinimalLeisurelyPlanter = False」
  • 2011/01/08 v0.14 beta2:
    • 目前是設定為 90秒內做超過 80個動作,然後休息1分鐘後才重新啟動
    • 動作包含:
      • 幫農友澆水、除草、殺蟲(失敗也算一次)
      • 偷農作物、生產型動物(失敗也算一次)
      • 對自己農田施肥、澆水、除草、殺蟲(失敗也算一次)
      • 收獲自己農田、動物
      • 鏟田
      • 在自己農田種農作物
      • 餵自己的動物
      • 買物品(肥料、飼料)
      • 挖磺
  • 2011/01/06 v0.14 beta1:
    • 新增檢查在一定時間內做了太多的動作會先結束「悠閒農夫」(目前是設定為 30秒內做超過 35個動作),然後休息2分鐘後才重新啟動
    • 動作包含:
      • 幫農友澆水、除草、殺蟲(失敗也算一次)
      • 偷農作物、生產型動物(成功才算一次)
      • 對自己農田澆水、除草、殺蟲(失敗也算一次)
      • 收獲自己農田、動物
      • 鏟田
      • 在自己農田種農作物
      • 餵自己的動物
  • 2011/01/06 v0.13:
    • 新增一種偵測「LeisurelyPlanter.exe」當掉的判斷(感謝網友 dermin 提供)。
    • 修改定時器的寫法。
  • 2011/01/03 v0.12:
    • 新增二種偵測「LeisurelyPlanter.exe」錯誤視窗的判斷(感謝網友 dermin 提供)。
      • 其中一個是遇到『載入農場資料失敗!(1029:has been forbidden!)是否要重試?』時,會隔兩分鐘再重試。
    • 新增一種偵測「LeisurelyPlanter.exe」當掉的判斷(感謝網友 dermin 提供)。
  • 2011/01/03 v0.11:
    • 新增一種偵測「LeisurelyPlanter.exe」當掉的判斷(感謝網友 prefessor 提供)。
    • 更改定時器的寫法。
      • 原本的寫法,在遇到「悠閒農夫」無回應時,也會導至本程式無回應。
  • 2010/12/31 v0.10:
    • 新增在 Win 7 偵測「LeisurelyPlanter.exe」當掉的判斷(感謝網友 listeria 提供)。
  • 2010/12/28 v0.9:
    • 去掉自動修改為全部不偷的設定。
    • 新增一種偵測「LeisurelyPlanter.exe」當掉的判斷。
  • 2010/11/19 v0.8:修改偵測無回應的判斷邏輯

2010年2月5日 星期五

開心農場滑鼠連點小工具

有鑑於有人因為玩開心農場太努力而導至手受傷,
所以提供滑鼠連點的程式,玩遊戲就是要玩的開心嘛!

以後玩開心農場時,就可以大大地減少點擊滑鼠的次數了。

一、使用畫面:
除草時:(有人可以點這麼快嗎?)
http://img16.yfrog.com/i/weeding.png/

收成時:
http://img41.yfrog.com/i/noharvest.png/

二、適用範圍:
  • 農地多要除草
  • 農地多要除蟲
  • 農地多要播種
  • 農地多要施肥
  • 農地多要翻地
  • 農地多要收成
三、本程式是以 AutoIt v3 開發的小工具:
可以到
這裡 http://www.fileserve.com/list/PfXpaWN 下載,(如何下載:請參考這裡)
  • MouseClick.au3(原始程式)
  • MouseClick.exe(執行檔)
擔心有病毒或惡意程式的人,可先下載、安裝 AutoIt v3 後,
再直接執行原始程式
MouseClick.au3,就可以安心了。

0.1版程式碼:
Dim $interval = 200 ;點擊滑鼠,時間間隔
Dim $isLoop = 0

HotKeySet("{F5}", "StartClick")
HotKeySet("{F6}", "EndClick")
HotKeySet("{F10}", "Terminate")

While 1
Sleep(60000)
WEnd

Func Terminate()
Exit 0
EndFunc

Func StartClick()
$isLoop = 1
While $isLoop
MouseClick("main")
Sleep($interval)
WEnd
EndFunc

Func EndClick()
$isLoop = 0
EndFunc


四、使用方式:
  • 執行程式(若要執行原始程式,則需先安裝 AutoIt v3)
  • 按F7開始滑鼠自動連續點擊,並移動滑鼠到農地上要除草(施肥、播種…)的地方
  • 按F8停止滑鼠自動連續點擊
  • 按F10結束程式
五、注意事項:
  • 請小心使用,可能會有以下副作用:
    • 只想灑一次肥料,結果變成二次
    • 只想幫朋友除草,結果變成偷作物(新版的才會)
  • 如有因為使用本程式而造成損失,請自行負責

六、版本歷史:
  • 0.2(2010/02/06)
    • 變更熱鍵,由於為F5為網頁更新之用,容易誤用
    • 修正不必要的滑鼠拖拉,當滑鼠移動時,由於快速的點擊會造成些許的滑鼠拖拉動作
    • 同一定點不會重覆點擊(必須移動一個距離後,才會有滑鼠點擊發生)
  • 0.1(2010/02/05)
    • 滑鼠自動連續點擊最初版

2009年10月9日 星期五

如何調整C槽大小,使用 GParted-LiveCD

軟 體資訊:
【軟體名稱】 GParted_LiveCD
【軟體版本】 0.46-1
【介面語言】 多國語言
【軟體性質】 免費
【支援檔案系統】 ext2, ext3, ext4, fat16, fat32, ntfs, ...
【官方網站】 這裡
【官方下載】 這裡
【安全性】 最好能在使用前先備份您的作業系統

個人使用過幾次,並沒有發生過任何異常,
而且據官方網頁的常見問答,也說是安全的
http://gparted.sourceforge.net/faq.php


  1. 狀況,C槽空間不夠
    • 使用「GParted」變更前,「C:」的大小為 4G
      http://img180.yfrog.com/i/jpe.png/

    • 使用「GParted」變更後,「C:」的大小為 13.11G
      http://img202.yfrog.com/i/68150606.png/

  2. 下載「gparted-live-x.x.x-x.iso」,它支援多種檔案系統
    http://img28.yfrog.com/i/40773910.png/

  3. 把它燒錄成光碟,
    請參考:
    ImgBurn v2.5.0.0 繁體中文版,免費燒錄軟體(Wii ISO檔燒錄教學):http://briian.com/?p=2255
  4. 開機
    1. 使用剛燒好的光碟開機
      http://img377.yfrog.com/i/50713814.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img377.yfrog.com/i/l01.png/

    2. 開機過程會有一些需要人工做選擇的部份,
      如果發生不正常的現象,請重新開機,再試試其它的選項,
      首先是鍵盤對應,
      大多數的人都是標準鍵盤,不用做對應動作,直接按「Enter」,到下一步。
      http://img11.yfrog.com/i/l02j.png/

    3. 出現語系的選擇,
      使用繁體中文,請輸入「30」再按下「Enter」
      http://img79.yfrog.com/i/l03.png/

    4. 直接啟動 X 視窗請輸入「0」再按下「Enter」或直接按「Enter」
      http://img160.yfrog.com/i/l04.png/

    5. 如果是選擇設定 X 視窗的參數
      http://img86.yfrog.com/i/l05.png/

    6. 成功開機到 X 視窗的畫面
      http://img159.yfrog.com/i/gparted.png/

  5. 使用 GParted 來變更分割大小
    1. 先啟動「GParted」
      http://img159.yfrog.com/i/gparted.png/

    2. 原本的「/dev/hda1」只有 4G 的大小,想辦法要調大一點
      先用滑鼠點選「/dev/hda2」→再用滑鼠點擊「調整大小、移動」
      註:
      「/dev/hda1」→「一般而言是 C:」
      「/dev/hda2」→「一般而言是 D:」
      在 Linux 中,第一顆硬碟是「/dev/hda」、第二顆硬碟是「/dev/hdb」…以此類推
      第一顆硬碟中的第一個分割是「/dev/hda1」、第一個分割是「/dev/hda2」…以此類推
      http://img195.yfrog.com/i/jp02.png/

    3. 可以用滑鼠或輸入的方式,決定要從「/dev/hda2」挪出多少空間給「/dev/hda1」
      http://img124.yfrog.com/i/jp03.png/

    4. 再用滑鼠點選「/dev/hda1」→接著用滑鼠點擊「調整大小、移動」
      http://img261.yfrog.com/i/jp04.png/

    5. 把剛剛從「/dev/hda2」挪出多少空間都給「/dev/hda1」
      http://img131.yfrog.com/i/jp05.png/

    6. 以上的動作,其實都還沒真正的執行,只是先記錄您想做什麼動作而已,直到用滑鼠點擊「套用所有動作」才會開始對硬碟做出動作
      http://img194.yfrog.com/i/jp06.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img210.yfrog.com/i/m01.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img91.yfrog.com/i/m02l.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img28.yfrog.com/i/59082638.png/

  6. 關機或重新開機
    http://img96.yfrog.com/i/57588392.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img190.yfrog.com/i/43543444.png/

  7. 取出光碟後,重新啟動系統,看看是否成功

2009年10月2日 星期五

製作類似網咖系統的選單

問題來源:

問題內容:
要 怎麼去製作一個跟網咖那種有遊戲、小工具等等那種功能選單?

例如在一個小介面上可以將各遊戲或工具程式捷徑集中於小介面上

問題答案:
介紹您使用免費軟體 FSL Launcher - Standard version,
FSL Launcher 官方網址:http://fsl.sytes.net/launcher.html
1、 下載
2、安裝
3、執行

執行後,會在系統列出現一個像太空梭的小圖示
http://img39.yfrog.com/i/006h.png/

點擊太空梭小圖示、或將滑鼠游標移到螢幕的最左上角,就會出現 FSL Launcher 快速啟動選單
http://img169.yfrog.com/i/001u.png/

選單上有 Tab 可以用來分門別類,可以把同性質或相關的應用程式放在一起
http://img340.yfrog.com/i/005k.png/

要新增加項目很簡單,
只要把程式用拖拉的方式拉進 FSL Launcher 快速啟動選單就可以了

2009年9月19日 星期六

[綠色,免安裝、免解壓縮]介紹 Pidgin 通訊軟體

Pidgin 是一個用 C,C#,Perl,Python,TCL 開發的 MSN 客戶端。它是一個免費的 MSN 移動客戶端或山寨版的 MSN,可以直接從 USB 設備直接執行。它提供了許多和 MSN 相同的功能。
具體來說, Pidgin 提供了一個標籤聊天、自定義圖標、文件傳輸、離線消息、個人信息、插件和多語言的界面。

軟體資訊:
【軟體名稱】 Pidgin
【軟體版本】 2.6.2
【介面語言】 多國語言
【軟體性質】 免費
【系統支援】 Windows、Linux、Mac OS
【官方網站】 這裡
【官方下載】 這裡
【綠色免安裝、免解壓下載】 這裡,(如何下載:請參考這裡)

如果擔心有病毒的話,
請參考:[免 費]如何使用多家防毒軟體聯合幫您掃描病毒

比較:

Portable Apps 綠色免安裝 免安裝、免解壓縮版
檔名 PidginPortable_2.6.2.paf.exe Pidgin-2.6.2_yyyymmdd.zip
特別事項 執行『PidginPortable_2.6.2.paf.exe』可選擇要解壓縮的目錄。
  1. 使用 LZMA 壓縮法,不需要先解壓縮就可以使用,類似 UPX 技術
  2. 啟動時,會稍微慢一些
佔用硬碟空間
  1. 「PidginPortable_2.6.2.paf.exe」大小為 14.1 MB
  2. 解壓後佔硬碟空間,大約 50.6 MB(使用安裝檔安裝後,所佔硬碟空間差不多也是這個大小)
  1. 「pidgin.exe」大小為 15.8 MB
  2. 不用解壓縮,可直接執行
全部檔案數 解壓縮後佔用 1244 個檔案,466 個資料夾 4 個檔案
下載處 這裡 這裡
註:
  1. 在 Windows XP,如果不是使用免安裝版的 pidgin,它的設定和對話記錄會存在於「C:\Documents and Settings\【使 用者】\Application Data\.purple\」
  2. 「免安裝、免解壓版」只能放在英文、數字的路徑下,不然無法執行。(例:放在中文、日文…等非英文的路徑下就無法執行)

免安裝、免解壓版中的各個檔案說明:
檔案名稱 功能說明
pidgin.exe 其實這是一個自解壓縮檔,但是不會佔用硬碟空間解壓縮,會解壓縮到記憶體中,然後在執行程式。
startPidgin.cmd
  • 設定要傳遞給 pidgin.exe 的環境變數,使用者可自行修改。
  • 設定對話記錄及其它設定檔的存放目錄:「set HOME=pdigin_settings\.purple」
startPidgin.vbs 唯一功能就是執行「startPidgin.cmd」,但是不會跳出醜醜的「命令提示字元」視窗
startPidgin.exe
  • 執行它就對了
  • 唯一功能就是執行「startPidgin.cmd」,但是不會跳出醜醜的「命令提示字元」視窗
  • 可以為它建立捷徑,以方便執行



好友清單:
http://img182.yfrog.com/i/47696521.png/


設定視窗:

  1. 一定要取消「顯示所收訊息的格式化」的功能,否則和朋友在對話時,會看不到中文
http://img340.yfrog.com/i/37005044.png/

對話範例一:
http://img519.yfrog.com/i/93274946.png/

對話範例二:
http://img142.yfrog.com/i/42623927.png/

2009年9月12日 星期六

[VBScript]簡單的網路校時工具

我們都知道電腦的時間準確與否,是一件很重要的事情,
但是電腦的時間有時會不準確,要使用 Windows 內建的網路校時功能時,不是會被防火牆給擋住,不然就是只能每週校時一次,很不方便。



一、為了改善這種狀況,所以自己撰寫、開發一個網路校時程式
,
這個範例是使用 VBSciprt, 需要先安裝 IE 5.5 以上版本
有興趣可到
這裡 http://www.fileserve.com/list/eUzZUFS 下載 GetHttpServerDate.vbs(用來測試網站時間是否正確)、SyncTime.vbs(網路校時)(如何下載:請參考這裡)

優點:
  • 支援使用 proxy server(許多網路校時軟體並沒有支援)
  • 可選用的伺服器眾多,且伺服器回應快(因為一般的時間伺服器,有太多人在使用,造成不容易連線成功)
  • 可校正的時間並無限制(就算時間和真正的時間差了幾十年依然可以校時,一般的網路校時軟體,最多只能接受相差幾個小時到幾天)
  • 有程式碼,可自行修改
缺點:
  • 校正時間不夠精確(誤差大多在1秒之內,對一般人而言已經足夠了)
  • 有些網頁伺服器,它的時間不準確(所以要先用 GetHttpServerDate.vbs 測試一下)

使用 GetHttpServerDate.vbs:
執行 GetHttpServerDate.vbs 會出現一個視窗,這時可輸入想要查詢的 http 伺服器的時間
http://img9.yfrog.com/i/ntpclient01.png/
點擊『確定』後,可看到查詢到的網頁時間和時間伺服器上的時間差不多
http://img21.yfrog.com/i/gethttpserverdate02.png/

試用 SyncTime.vbs:
  • 先切到命令提示字元
  • 以『echo %date% %time%』指令,查看現在的日期時間
  • 再以『date 1999/01/02 && time 4:5:6』指令,變更日期及時間
  • 以『echo %date% %time%』指令,查看日期、時間是否有變更
  • 執行『SyncTime.vbs』
  • 以『echo %date% %time%』指令,查看日期、時間,看網路校時是否有效
http://img443.yfrog.com/i/synctime01.png/

二、運作原理
一般來說,要實作網路校時,使用的方式有「網路時 間協議」、「Day Time Protocol」、「Time Protocol」、「Simple Network Time Protocol」,不過在這個例子採用的是「HTTP Time Protocol」,它其實就是使用 HTTP Header 中的 Date 欄位

http://img151.yfrog.com/i/gethttpheader01.png/


先設定一些會用到的常數
如果會用到 proxy server 才能連上網的話,也要設定 proxy server 的相關設定值
014 ' WinHttpRequest proxy 設定方式

015 Const HTTPREQUEST_PROXYSETTING_DEFAULT = 0
016 Const HTTPREQUEST_PROXYSETTING_PRECONFIG = 0
017 Const HTTPREQUEST_PROXYSETTING_DIRECT = 1
018 Const HTTPREQUEST_PROXYSETTING_PROXY = 2
019
020 Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0
021 Const HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1
022
023 Const WindowStyle_Hidden = 0
024
025 Dim sProxyUser, sProxyPass, sProxyServer, bUseProxyServer, bProxyCheckUserPass
026 ' Proxy Server 設定值
027 sProxyServer = "localhost:8080"
028 ' 是否要使用 Proxy Server
029 bUseProxyServer = False
030 ' 是否要檢查帳號、密碼
031 bProxyCheckUserPass = False
032 sProxyUser = "username"
033 sProxyPass = "password"
034
035 Dim sHttpServer, nSyncPeriod
036 ' 要網路校時的網路伺服器
037 sHttpServer = "http://tw.yahoo.com"
038 ' 每隔多久要校正一次(單位分鐘)
039 nSyncPeriod = 60

使用 WinHttp 物件抓取 HTTP Header 中的 Date 欄位
043 Function GetDate(sUrl)

044 Dim HttpReq
045
046 ' 建立 WinHTTPRequest ActiveX 物件
047 Set HttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
048
049 ' 如果有需要透過 proxy 上網,可設定 proxy
050 If bUseProxyServer Then
051 HttpReq.SetProxy HTTPREQUEST_PROXYSETTING_PROXY, sProxyServer, ""
052
053 ' 開啟 HTTP 連線
054 If bProxyCheckUserPass Then
055 HttpReq.Open "POST", sUrl
056 HttpReq.SetCredentials sProxyUser, sProxyPass, HTTPREQUEST_SETCREDENTIALS_FOR_PROXY
057 Else
058 HttpReq.Open "GET", sUrl
059 End If
060 Else
061 ' 開啟 HTTP 連線
062 HttpReq.Open "GET", sUrl
063 End If
064
065 ' 送出 HTTP 請求
066 HttpReq.Send
067
068 ' 取出 HTTP 檔頭中的日期
069 GetDate = HttpReq.GetResponseHeader("Date")
070
071 ' 釋放物件
072 Set HttpReq = Nothing
073 End Function

HTTP Header 中的 Date 欄位是 GMT 格式,要將它轉換為本地時間
075 Function ConvertDate(sDate)

076 Dim regEx, oMatch, oMatches
077
078 ConvertDate = ""
079 ' 使用正規表示式,來找出 HTTP 檔頭的日期格式
080 Set regEx = New RegExp
081 regEx.Pattern = "(\d+) (\w+) (\d+) (\d+):(\d+):(\d+)"
082 regEx.IgnoreCase = True
083 Set oMatches = regEx.Execute(sDate)
084 If Not oMatches Is Nothing Then
085 If oMatches.Count Then
086 Dim year, mon, day, hour, min, sec
087 Dim months, pos
088 Dim oShell, atb, offsetMin
089
090 Set oMatch = oMatches(0)
091 day = oMatch.SubMatches(0)
092 mon = oMatch.SubMatches(1)
093 year = oMatch.SubMatches(2)
094 hour = oMatch.SubMatches(3)
095 min = oMatch.SubMatches(4)
096 sec = oMatch.SubMatches(5)
097 If year < 100 Then
098 year = year + 2000
099 End If
100
101 ' 將英文縮寫月份轉成數字
102 months = "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"
103 pos = InStr(months, mon)
104 If pos > 0 Then
105 mon = (pos - 2 + 4) / 4
106 End If
107
108 ' 轉換為 VBScript 的日期格式
109 ConvertDate = DateSerial(year, mon, day) + TimeSerial(hour, min, sec)
110
111 ' 釋放物件
112 Set oMatch = Nothing
113
114 Set oShell = CreateObject("WScript.Shell")
115 atb = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias"
116 offsetMin = oShell.RegRead(atb)
117 ' 轉換為本地時間
118 ConvertDate = DateAdd("n", -offsetMin, ConvertDate)
119 ' 釋放物件
120 Set oShell = Nothing
121 End If
122 End If
123
124 ' 釋放物件
125 Set oMatches = Nothing
126 Set regEx = Nothing
127 End Function

然後再用 Dos 的 Date, Time 指令設定日期及時間
150 Function Sync_Time(url)

151 Dim remoteDate, StartTime, DiffTime
152
153 SyncTime = False
154 StartTime = Timer
155 remoteDate = GetDate(url)
156 DiffTime = Timer - StartTime
157 remoteDate = ConvertDate(remoteDate)
158 remoteDate = DateAdd("s", Round(DiffTime / 2), remoteDate)
159
160 If IsDate(remoteDate) Then
161 Dim oShell, rc
162
163 Set oShell = WScript.CreateObject("WScript.Shell")
164 Do
165 ' 變更系統時間
166 rc = oShell.Run("cmd /c time " & FormatDateTime(remoteDate, vbShortTime) & ":" & Second(remoteDate) , WindowStyle_Hidden, True)
167 If rc <> 0 Then
168 SyncTime = False
169 Exit Do
170 End If
171
172 ' 變更系統日期
173 rc = oShell.Run("cmd /c date " & FormatDateTime(remoteDate, vbShortDate) , WindowStyle_Hidden, True)
174 If rc <> 0 Then
175 SyncTime = False
176 Exit Do
177 End If
178
179 SyncTime = True
180 Exit Do
181 Loop
182
183 ' 釋放物件
184 Set oShell = Nothing
185 End If
186 End Function

每固定一段時間和網頁伺服器做時間校正(可自行修改成適合您的)
129 Sub Do_Sync_Time()

130 Dim i, j
131
132 Do
133 ' 開始真正的 Sync Time
134 Sync_Time(sHttpServer)
135 ' 暫停一段時間
136 For i = 1 To nSyncPeriod
137 For j = 1 To 60
138 WScript.Sleep 1000
139 Next
140 Next
141 Loop While True
142 End Sub

三、如果需要更精確的網路校時工具
可以到這裡 時間網站 或 國家時間與頻率標準實驗室,可以下載 NTP client程式(中文版及英文版)
http://img338.yfrog.com/i/ntpclient01.png/

2009年8月18日 星期二

Chromium (Google Chrome 免安裝版)開始支援佈景主題

Google Chrome (Google 瀏覽器)是一個 Google 開發的 Web Browser,介紹可參考這裡。
Chromium 是一個由 Google 主導開發的 Web Browser,如何下載及介紹可參考這裡。

Chromium 已經開始支援佈景主題,相信不久的將來,Google Chrome 也會跟進吧!
如何下載最新版的 Chromium,可以參考這裡。

註:版本需大於 3.0.195.3 才有支援佈景主題。


http://img36.yfrog.com/i/chromez.png/

可直接使用 Chromium 瀏覽 https://tools.google.com/chrome/intl/en/themes/index.html ,然後選擇喜歡的佈景主題,
或者按照以下步驟安裝:
http://img41.yfrog.com/i/chrome02.png/

http://img37.yfrog.com/i/chrome03.png/

http://img21.yfrog.com/i/chrome04.png/


2009年8月9日 星期日

[如何下載 YouTube 影片]使用 Orbit Downloader

想要把 YouTube 上的影片抓下來,怎麼做呢?

介紹使用 Orbit Downloader 軟體,
方法一,使用『Grab++』:
1、開啟 Orbit 之後,在『拖曳區』上按下滑鼠右鍵,叫出『Grab++』
http://img411.imageshack.us/img411/558/grab00.png http://img188.imageshack.us/img188/9631/arrow0017.gif http://img38.imageshack.us/img38/985/grab04.png
2、在 IE 中,瀏覽您想要下載的 YouTube 影片(在瀏覽影片前,一定要先確認『Grab++』是否己經開啟)
http://img35.imageshack.us/i/grab02.jpg/
3、可以在『Grab++』的視窗中看到被偵測到的影片
http://img188.imageshack.us/img188/205/grab03.png
4、把想要下載的影片勾選後,再按下『下載』就可以下載了。

方法二,使用『Grab Pro』:
1、打開 IE,確定『檢視』→『工具列』→『Grab Pro』是否有啟動使用
http://img190.imageshack.us/img190/5381/grab01.png
2、在 IE 中,瀏覽您想要下載的 YouTube 影片(例如:http://www.youtube.com/watch?v=fzzjgBAaWZw)
http://img12.imageshack.us/i/grab045.jpg/
3、點擊『Grab Pro』的下拉選單,再點擊『Download it』,就可以開始下載影片了
http://img188.imageshack.us/i/grab05.jpg/
4、可以看到下載的進度
http://img256.imageshack.us/i/grab06.jpg/
5、下載完成後,可以點擊『Open File』直接開啟下載的影片,或是點擊『Open Folder』開啟影片所在的資料夾(預設是『C:\Downloads』)
http://img291.imageshack.us/i/grab07.jpg/

LinkWithin

Blog Widget by LinkWithin