最近因為 Windows 7 RC 推出, 所以就裝了一套來測試看看. 多數我常用的軟體似乎都運作正常, 不過... 在 ThinkPad 上頭有個 EasyEject 程式並無法正常運作.
雖然 Windows 本身就有這類退出硬體的功能, 不過... 在 Windows 7 上頭, 那個圖案預設是在工具列上隱藏的, 就算設定成在工具列上顯示, 仍然要移動滑鼠去點選才能執行, 並沒有以往使用 EasyEject 時, 只要按 Fn+F9 的快速鍵就可以運作.
而 ThinkPad 本身附的 Hotkey 程式, 是可以正常運作的. 在沒有安裝 EasyEject 時, 仍可以按 Fn+F9, 這時會顯示你並沒有安裝 EasyEject. 再看一下安裝後的目錄下頭, 有個 tpfnf9.exe 的程式, 看起來應該就是當使用者按下 Fn+F9 時, 就會去執行這個檔案.
而 Windows 本身的那個安全退出硬體的對話盒, 我們一樣也可以用下列的指令來執行:
rundll32 Shell32.dll,Control_RunDLL HotPlug.dll
所以, 看來我們只要自己寫個程式來取代原本的 tpfnf9.exe, 並執行上頭的指令, 就應該可以在按 Fn+F9 時, 把這個安全退出硬體的對話盒叫出來, 這樣子與原本 EasyEject 所提供的功能, 應該也差不到那兒去了.
下頭就是我寫的一個小程式, 在我這兒運作正常, 有興趣的自己抓回去用吧:
http://www.teatime.com.tw/~tommy/files/tpfnf9.7z
本人不保證程式運作的任何結果, 使用後有任何問題請自行負責, 不要來找我. :-)
2009/05/19:
用了一天, 發現怪怪的, Windows 7 裡頭的 hotplug.dll 似乎有問題, 因為雖然叫的出來移除硬體的畫面, 但是多數時候都無法退出.
不過同時使用工具列上的圖示來做退出的動作又很正常.
看來也許是 bug, 也許是在 Windows 7 裡頭改了做法.