我在C++中創建了一個應用程序,並想知道如何實現一個使用統計系統,以便我可以收集一些關於用戶如何使用該程序的數據。C++使用情況統計
例如, IP地址,應用程序花費的小時數和使用的操作系統。
從理論上講,我知道如果必須的話我可以自己編碼,但我想知道是否有框架可以使這更容易做到。不幸的是,我無法在谷歌上找到任何東西。
我在C++中創建了一個應用程序,並想知道如何實現一個使用統計系統,以便我可以收集一些關於用戶如何使用該程序的數據。C++使用情況統計
例如, IP地址,應用程序花費的小時數和使用的操作系統。
從理論上講,我知道如果必須的話我可以自己編碼,但我想知道是否有框架可以使這更容易做到。不幸的是,我無法在谷歌上找到任何東西。
雖然沒有任何一種這樣的框架,但您可以通過使用一些方法和技術來減少您必須做的工作(以檢索所有這些信息),我嘗試了下面的描述。請任何人隨時糾正我。
讓我們總結一下,我們需要完成的任務是什麼組的信息:
那麼,如何可以實現的最後一個項目(用戶相關信息)的要求?至於我,我會做一些像folowing(有些看起來很難實施或太無意義): - 創建一種基類計數器類,並從它派生一些控制(按鈕,編輯等)。 - 在獲取子句柄時使用鼠標或鍵盤的窗口掛鉤(例如,識別控件)。 - 使用Callback類,它可以完成所有「髒」工作(計數,測量,執行其他操作)。
您可以將所有這些信息存儲在文本文件或SQLite數據庫中,或存儲在任何您喜歡的地方。
我建議看看DeskMetrics。這StackOverflow post總結了這個問題。
構建您自己的框架可能需要幾個月的時間(除維護外)。使用類似Trackerbird Software Analytics的東西,您可以將DLL與應用程序集成在一起,並在30分鐘內開始跟蹤,並獲得所有酷炫的實時可視化效果。
聲明:我隸屬於公司。
什麼樣的應用程序?查詢操作系統的範圍可以從簡單到中等複雜。 – moshbear
如果你這樣做,如果他接受發送收集的數據,一定要**詢問用戶。我知道如果未經我的同意,我會停止使用任何發送有關我的計算機數據的軟件。 – ereOn
+1 to ereOn,並補充:在某些司法管轄區,未經許可收集幾乎肯定是_illegal_。 – paxdiablo