天天看點

QtApplets-監聽指定程序并獲得其使用者名

監聽指定程序并擷取其使用者名

​ 今天的這個内容,主要是為了補上次的坑,坑在這裡通過判定目前登入系統使用者,啟動不同的應用程式,簡單描述一下就是我會啟動兩個賬戶,啟動兩個程式,監聽程式沒有判斷啟動的程式屬于那個使用者,是以隻有有一個啟動,監聽程式就會運作指定功能,這就導緻我在第二個使用者中,關閉了程式,監聽程式還是會運作,這坑差點害死我,讓測試小姐姐錘了一頓,不過今天沒有夢到張扁扁。

​ 這個小程式就是從哪個監聽程式的代碼中摘一部分,做功能驗證,就是擷取指定程序的使用者名,不過還是不理想,隻能擷取到部分程序的使用者名,像系統級别的程序還是擷取不到,即使我以管理者權限運作了,也是不可以。但是我抄人家代碼,看人家示範程式是沒有問題的,也不知道問題出在哪裡了,不過好在可以解決當下文檔,先用此坑填前坑,完了再想辦法填此坑。

​​監聽指定程序并擷取其使用者名​​ 1擷取特定程序 2 通過PID擷取程序使用者名 3 寬字元轉Char* 4 擷取管理者權限 5示範下效果 ☞ 源碼 關鍵字: ​<code>​CreateToolhelp32Snapshot​</code>​、​<code>​GetTokenInformation​</code>​、​<code>​LookupAccountSidW​</code>​、​<code>​管理者權限​</code>​、​<code>​QMAKE_LFLAGS​</code>​

​ 這部分代碼在前面的​<code>​通過判定目前登入系統使用者,啟動不同的應用程式​</code>​文章中有,在複制一下,保證下文章的完整性質。

​ 這個是新增的,也是抄來的,不過原始網址是一個國外的,今天沒有找到,作者看到告訴我一下。

​ 這個就是标準的代碼了,直接抄

​ 其實完成上面的代碼,是可以擷取到部分由使用者建立的程序的使用者名的,但是像系統建立的是沒有,通過使用管理者權限,還是不可以,目前還沒有搞到問題點,提升管理權限也沒有啥大用途,煩人。提升管理者權限代碼如下:

直接放在pro中​<code>​QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"​</code>​

​ 成功的

QtApplets-監聽指定程式并獲得其使用者名

不成功的

QtApplets-監聽指定程式并獲得其使用者名
源碼連結:​​GitHub倉庫自取​​ 使用方法:☟☟☟
QtApplets-監聽指定程式并獲得其使用者名

繼續閱讀