我很清楚這個問題已經被要求提供vb.net,但是對於c#沒有任何幫助,我現在一直在爲這個代碼掙扎大約3周,卡住在這一點上。 我需要獲取用戶在應用程序上花費的總時間。到目前爲止,我已經嘗試使用appstart並追加時間跨度,但是我得到00:00:00我知道爲什麼我得到這個結果,但我不知道如何解決我的問題,我在我的智慧結束。所以任何人都可以向我解釋一下如何計算窗口打開的總時間並實時保存所有信息。如何獲得用戶在應用程序上花費的總時間
DateTime appStart = new DateTime();
DateTime appStart = new DateTime();
TimeSpan Duration;
DateTime now = DateTime.Now;
string time = now.ToString();
const int nChars = 256;
int handle = 0;
StringBuilder Buff = new StringBuilder(nChars);
handle = GetForegroundWindow();
if (GetWindowText(handle, Buff, nChars) > 0)
{
string strbuff = Buff.ToString();
appstart = DateTime.Now();
#region insert statement
try
{
var with = cnSave;
if (with.State == ConnectionState.Open)
with.Close();
with.ConnectionString = cnString;
with.Open();
string strQRY = "Insert Into [Log] values ('" + strbuff + "', '" + time + "', '" + Processing + "')";
OleDbCommand cmd = new OleDbCommand(strQRY, cnSave);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception)
{
}
}
finally { }
#endregion
ActivityTimer.Start();
Processing = "Working";
}
這不是完整的應用程序也不是什麼樣子,在這是一個不同的PC上的那一刻,我還沒有上傳了還不過這或多或少地概括了什麼應用程序我運行大多數的來自定時器的代碼和好像我說我被卡住了。
我試圖做的邏輯。
- 最終用戶啓動記事本。
- 我的應用程序記錄了記事本聚焦的時間或者是活動窗口 -
- 最終用戶打開或切換到新的應用程序,如Ms Words。
- 我的應用程序記錄了用戶切換或關閉記事本的時間,並計算這兩個時間之間的差異,並獲得總持續時間並將此信息保存到數據庫中。
等等等等。
這是一個Windows窗體應用程序? –
你能告訴用你爲什麼得到那個結果?你能告訴我們實施嗎? – rae1
你的意思是什麼*獲取用戶在應用程序上花費的總時間*?你的意思是自從用戶啓動應用程序以來已經有多久了?或者是什麼 ? –