我想記錄活動的應用程序並保存活動應用程序的歷史記錄。我說積極的應用程序,因爲如果我運行一個應用程序,它最小化等,我不會把它算作一個活躍的應用程序。 爲了讓我的問題更清晰,讓我們看看這個例子。 我打開Firefox並在網上衝浪20分鐘。然後我打開一個文本編輯器並開始寫5分鐘(Firefox正在運行,但我沒有使用它,所以Firefox不應該算作一個活動的應用程序)。所以,我應該能夠記錄以下信息:如何使用C/java檢測活動應用程序?
Firefox -> 20 minutes
Text editor -> 5 minutes
我想要跟蹤的OS在每個使用的應用程序(Linux是首選)是做出一個開源應用程序,說你有多少使用每個應用程序。
更新:我想記錄的應用程序是用戶在顯示器上看到並正在處理的應用程序。例如,你可以改變窗口的大小,以便你可以看到Firefox和文本編輯器(在不同的工作空間,級聯等),但你在文本編輯器中輸入,因此,文本編輯器是主動應用程序換句話說,如果您正在與之交互或是您正在查看的最後一個交互應用程序閱讀pdf,文本等中的某些內容,則應用程序處於活動狀態。與應用程序交互:我的意思是單擊,鍵入,滾動等。
NAROWING:我唯一不知道的是如何獲得這些條件下的活動應用程序。我認爲,如果我在當前工作空間的顯示器上獲得最能解決問題的最高應用程序,那麼我們有一個屬性可以設置爲一個窗口(總是在頂部),可能需要在未啓用此屬性的情況下才能獲得該窗口。我發現this question可能有助於回答。
使用Fedora 26,
在此先感謝。
沒有核心的Java解決方案,因爲Java已經專門編寫成因爲OS儘可能不可知。對於解決方案,您需要使用第三方庫(非主題)或使用通過JNI/JNA鏈接到Java的C/C++解決方案。 –
...也沒有OS命令,你可以用你的操作系統標記你的問題? – 2017-10-08 01:06:29
@SamDev你不會找到它,因爲它是一個多部分問題,涉及到進行C或C++調用,然後通過JNI或JNA鏈接到它們。最好的鏈接將在本網站的C/C++部分。我認爲,在進行足夠深入的研究之前,OP還沒有足夠的背景知識,甚至沒有足夠的背景來刺激這一點。如果這不是重複的,應該關閉太寬。 –