原创 將Eclipse CDT+MinGW配置成開發WIndows GUI程序的IDE環境

在Windows平臺上,Eclipse CDT + MinGW是很好的C/C++開發IDE,不過默認的配置只能用來編寫控制檯模式的WIndows程序,無法開發GUI程序,最大的障礙就是默認配置無法編譯GUI程序需要的.rc文件,而.rc文

原创 提取Java for Chrome安裝程序的方法

使用chrome系列瀏覽器時,訪問使用java的網站時,可能會需要安裝chrome版的jre。一般的做法是訪問oracle的java網站去下載在線安裝程序(大約800kB左右),然後運行。在線安裝程序運行時,會從oracle下載真正的安裝

原创 Apache Commons Math3學習筆記(2) - 多項式曲線擬合

多項式曲線擬合:org.apache.commons.math3.fitting.PolynomialCurveFitter類。 用法示例代碼: // ... 創建並初始化輸入數據: double[] x = new double[..

原创 與娃兒鬥智鬥勇——健康上網行爲監控(5)——主要代碼之截屏

發現娃兒上網不守規矩,那就要截屏取證,所以本程序使用了一個截屏函數catchScreen,可以截取當前屏幕,並保存爲bmp文件。代碼如下: void catchScreen(char *screenshotFilename) {

原创 與娃兒鬥智鬥勇——健康上網行爲監控(3)——主要代碼之進程處理

本程序的核心任務是找出需要監控的進程,因此核心函數就是“找進程”: /** * findAllProcesses: 找出所有與指定名稱相同的進程的pid。若processName爲NULL,則採集當前所有進程的pid。 * pr

原创 與娃兒鬥智鬥勇——健康上網行爲監控(6)——主要代碼之配置文件處理

ScreenMonitor的行爲依據配置文件的設定而定。配置文件格式已經在本系列文章的第1節說明,此處不再贅述。本節僅說明SM如何讀取配置文件的內容。 SM讀取配置文件sm.ini的主函數爲loadConfig,代碼如下: Monito

原创 與娃兒鬥智鬥勇——健康上網行爲監控(2)——主要流程

ScreenMonitor的主要流程如下圖所示: 其中WM_TIMER是主要的代碼段,這一段代碼判斷當前進程中是否存在被監控的進程和窗口標題,若發現被監控對象,則根據sm.ini中的mode設置來執行下一步動作。其代碼段如下:

原创 與娃兒鬥智鬥勇——健康上網行爲監控(4)——主要代碼之通知欄處理

screenMonitor程序的監控行爲得偷偷摸摸進行,不能讓娃兒輕易看到這個程序在運行,因此不能再Windows任務欄上顯示,最好也不要在通知欄上顯示圖標,甚至能不顯示在系統進程列表中才好。不過這樣一來要用到很麻煩的Windows底層技

原创 與娃兒鬥智鬥勇——健康上網行爲監控(7)——主要代碼之字符串處理

前面講到loadConfig函數在讀出sm.ini中的參數行之後,需要調用字符串分割函數將參數的名稱與取值分離出來,所以,本程序提供了若干用於字符串分割處理的函數。 1. getSplitCount函數:這個函數可以計算源字符串被分割字符

原创 與娃兒鬥智鬥勇——健康上網行爲監控(1)——概況

互聯網是個好東西,有大量的學習資料可以找到,對於學習、工作都非常有用。現在城市家庭很多小孩子也都依賴互聯網開展學習活動。不過,小孩子畢竟是小孩子,自覺性不夠好,往往藉着上網找學習資料的機會偷偷幹一些娛樂活動,比如偷着聊QQ、逛QQ空間和微

原创 基於USBDeview的自制USB設備監管系統實現(4)——Guard Process

Guard Process是一個守護進程,目的是爲了防止用戶有意或無意間終止常駐的usbdeview進程。本文中,這個守護進程命名爲USB Monitor Service(以下簡稱“ums”),做爲Windows系統服務運行。 ums會定

原创 基於USBDeview的自制USB設備監管系統實現(1)——系統架構

現在各企業對於信息系統中的信息安全都開始重視,對於USB接口的移動設備的監管也越發嚴格。市面上有很多平臺化的USB設備監管工具,多數是包含在主計審計系統中的一項功能。不過這些商業化的工具平臺價錢都很貴,在企業裏完整部署的話少則數十萬元,多

原创 UltraEdit離線註冊的最新注意事項

自24.x起,UltraEdit的離線激活的許可證驗證方式有了變化,以往那樣註釋掉hosts文件中的licensing.ultraedit.com以防止許可證檢查的方法不管用了,會首先提示激活成功,然後出現對話框,顯示: [Window

原创 用Java實現的樹

琢磨其他東西的時候弄出來的副產品,自娛自樂用。 樹的節點有名稱和值兩個公開的屬性。每一個節點可以重名、重值,靠節點的內部UUID區分。因此,這個樹類內部並不排序,是一種“亂序”樹,因而也是“自由”樹。 TreeNode類使用了Java的泛

原创 Openfire自帶的PacketFilter插件的包過濾規則應用機制

Openfire內置了包過濾插件PacketFilter,這個插件可以定義一系列過濾消息包的規則,可以指定接收、拒收、反彈來自或發至某個用戶、組、組件或任意端點的消息。 當在PacketFilter中定義了多個過濾規則時,PacketFi