當Notebook壞了一個鍵...
伴了我近四年的小黑X21自從因384M的記憶體上限無法滿足VS.NET野獸般的需求後,從此遁入家中,成為備用電腦,有時取其安靜省電穩定的特色,做大型檔案長時間下載的基地。而自從家中人口數上升到四人之後,為了怕晚上咔啦咔啦的打字聲吵醒公主王子,今年初又再去敗了組無線套件,從此展開我夜深人靜後,在家中四處漫遊的生活。
好景不長,正在讚嘆ThinkPad的金剛不壞時,忽然發現鍵盤的向下方向鍵不Work了,按個幾十下才會有一個反應。而保固過沒繳保護費的NB,修起來可是會剶層皮的。到網路拍賣上查了一下,全新的X21鍵盤叫價3500,但要自助安裝。而且上了年紀的東西拆了就難保不會又惹來其他併發症,到時要是弄個TFT中風或是開不了機,可就不好玩了。
考慮再三,想說向下鍵的功能多半用滑鼠都可以取代,老爺電腦也別再多花錢了。奇怪的是,平常覺得不怎麼重要的向下鍵,在少了它之後,才覺得這真是造福人類的大發明,沒有它太不方便了,尤其是:
1) 新倉頡輸入法時強迫選字,似乎不能用Mouse取代。 2) 按Shift+向下鍵選取數行程式碼的簡單動作,用Mouse做來又蹩腳又好笑...
正在猶豫是否該花錢消災時,忽然福至心靈。想起我過去研究過如何用程式模擬Keyboard Mouse,還寫成文章騙過稿費,這下可是學以至用的好時機了。不囉嗦,三兩下到Code Project找到了http://www.codeproject.com/csharp/globalhook.asp,一位酷哥寫好簡潔有力的Global Hook Class,我在其中動了手腳,攔截從來沒用過且位置相近的右側Control鍵KeyDown及KeyUp的Event,分別用keybd_event() API去模擬向下鍵的KeyDown、KeyUp。最後套上個System Tray的程式外皮,放在程式集/開始中,就完成了狸貓換太子的神奇表演,讓我的小黑又再度重拾人類重要發明---向下鍵。當然,省下3500的爽快感覺---無價。.NET無敵! CodeProject萬歲!