趙慶明,阮菊紅
(成都理工大學圖書館,四川 成都 610000)
伴隨著智能手機和筆記本電腦的普及,圖書館基本上不再提供的用于閱覽電子資源的計算機。目錄查詢機是圖書館為讀者提供圖書檢索的設備之一,而單一功能的目錄查詢機使用效率并不高,同時仍有部分讀者希望圖書館提供免費的計算機以供閱覽電子資源。如何解決這一問題,我們對此做了研究,也取得了良好的成果。
成都理工大學新圖書館建成,不但館舍面積有了大幅擴大,而且在軟硬件設施方面有了大幅提升。目錄查詢機由原來二十余臺,提升到近七十余臺,分散于圖書館的書庫及閱覽區,極大地方便了讀者書目檢索需求。如此多的目錄查詢機,僅用于書目檢索,功能太過單一,大部分時間出于閑置狀態,利用效率并不高。同時仍有小部分讀者希望圖書館提供免費計算機以供閱覽電子資源。如果能將這些書目查詢機同時作為免費電子閱覽用機,進一步發揮這些設備的作用已以滿足部分讀者的需求。
原來的目錄查詢機僅用于書目檢索,只需訪問圖書館內網OPAC,無需訪問互聯網,人為設置了不少的限制。要讓這些計算機確保提供基本的OPAC服務,同時允許讀者訪問互聯網資源,則需要解除這些限制。最主要的問題在于,讀者離開計算機之后未關閉的敏感信息會為圖書館帶來不良的影響,也會干擾其他讀者的使用。而如果關閉了瀏覽器的頁面,同樣會讓其他新讀者不知所措。另外,計算機完全開放權限,容易被讀者安裝非法軟件,或對系統帶來有意無意的破壞。這些問題需要一一解決。
對于防止計算機操作系統的被無意破壞,軟件版的和硬件版的都可滿足需求,讀者對計算機系統所做的任何修改,在重新啟動計算機后可全部還原。將瀏覽器主頁設置為OPAC頁面,每次打開瀏覽器將呈現為OPAC界面即可。通過監控鍵盤鼠標“空閑時間”來判斷讀者是否離開計算機,判斷讀者離開計算機之后,只需關閉瀏覽器。當計算機檢測到瀏覽器不在運行中,計算機自動打開瀏覽器即可。如此這般,瀏覽器頁面保持常開狀態,且頁面保持為OPAC書目查詢界面。
對于瀏覽器監控、讀者離開的判斷相關軟件,我們編寫了兩個小軟件。IEGuard是一個系統服務(Windows Services),無運行界面,以最高權限在Windows后臺運行,在檢測到瀏覽器未打開時,自動打開瀏覽器。KMGuard是一個基于WinForm的應用程序,監視當前讀者的鍵盤鼠標的操作,以程序圖標(Tray Icon)的最小化運行,超時未操作,則關閉瀏覽器。兩個軟件相互配合完成瀏覽器的監控,IEGuard確保瀏覽器運行,由KMGuard檢測用戶行為。

在C#編程語言中,命名空間“System.Diagnostics”中的“Process”中的相關實現可以完成當前系統中運行的程序的進程管理,包括啟動、殺死進程。“System.Timers”中的Timer類中相關實現可以完成定時器相關操作。對于監控全局鼠標鍵盤,則需要調用Windows API來完成,包括安裝全局鉤子,回調函數,處理函數等幾個方面。隨后,將IEGuard以服務的方式安裝至系統。將KMGuard加入Windows開啟啟動項中即可。核心代碼片段如下:
[DllImport(“user32.dll”)]
static extern void keybd_event(byte key,byte scan,int flags,int extraInfo);
mouseHook.MouseMove += new MouseEventHandler(mouseHook_MouseMove);
keyboardHook.KeyDown += new KeyEventHandler(keyboardHook_KeyDown);
mouseHook.Start();
keyboardHook.Start();
通過合理的網絡改造和計算機配置,以及通過C#編程語言定制化開發,對目錄查詢機的進行特定的控制,在滿足其主要功能的情況下,讓其更有效地發揮了作為免費電子閱覽用機的作用。
[1] VB.NET中Timer控件的應用研究[J].鄢穎.企業技術開發.2016(08)
[2] 基于.NET用C#實現鉤子的方法研究[J].陳樂,劉更,王海偉.科學技術與工程.2006(13)
[3] C#可捕獲幾乎所有鍵盤鼠標事件的鉤子類[EB/OL].http://www.jb51.net/article/86260.htm,2016.6.9