1.一種應用窗口的信息獲取方法,所述方法適于在運行Linux系統(tǒng)的計算設備中執(zhí)行,該方法包括:
獲取當前應用窗口的窗口屬性;
判斷所述窗口屬性中是否包括進程ID;
如果所述窗口屬性中包括進程ID,則獲取相關的進程屬性;
根據(jù)所述窗口屬性和進程屬性,與對應的第一匹配文件進行匹配以獲取相應的應用ID和匹配準確率,所述第一匹配文件包括窗口屬性和進程屬性的組合與應用ID的匹配關系列表以及相應的匹配準確率;
獲取匹配準確率最高的應用ID;
通過匹配準確率最高的應用ID獲取其對應應用窗口的名稱和圖標信息。
2.如權利要求1所述的方法,其中所述窗口屬性通過X11的API獲取,包括應用類別、窗口名稱、窗口類型、應用圖標名稱、進程ID中的至少一種。
3.如權利要求1所述的方法,其中所述進程屬性通過proc文件系統(tǒng)獲取,包括進程啟動參數(shù)、進程用戶、進程對應的應用路徑、進程的環(huán)境變量中的至少一種。
4.如權利要求1-3中任一項所述的方法,根據(jù)所述窗口屬性和進程屬性,與對應的匹配文件進行匹配以獲取相應的應用ID和匹配準確率包括:
將待匹配的窗口屬性和進程屬性作為輸入?yún)?shù)傳遞給匹配器,由所述匹配器根據(jù)第一匹配文件對輸入?yún)?shù)進行匹配分析以輸出匹配結果;
根據(jù)匹配器輸出的匹配分析結果獲取相應的應用ID和匹配準確率。
5.如權利要求1-3中任一項所述的方法,通過匹配準確率最高的應用ID獲取其對應應用窗口的名稱和圖標信息包括:
獲取匹配準確率最高的應用ID對應的desktop文件;
通過所述desktop文件獲取其對應應用窗口的名稱和圖標信息。
6.如權利要求1-3中任一項所述的方法,還包括通過Xorg對應用窗口的變動進行監(jiān)聽,以更新當前應用窗口。
7.如權利要求1所述的方法,還包括:
如果所述窗口屬性中不包括進程ID,則根據(jù)所述窗口屬性,與對應的第二匹配文件進行匹配以獲取相應的應用ID和匹配準確率,所述第二匹配文件包括窗口屬性與應用ID的匹配關系列表以及相應的匹配準確率。
8.一種應用窗口的信息獲取裝置,所述裝置適于駐留在運行Linux系統(tǒng)的計算設備中,該裝置包括:
第一獲取模塊,適于獲取當前應用窗口的窗口屬性;
判斷模塊,適于判斷所述窗口屬性中是否包括進程ID;
第二獲取模塊,適于當所述窗口屬性中包括進程ID時,獲取相關的進程屬性;
匹配模塊,適于根據(jù)所述窗口屬性和進程屬性,與對應的第一匹配文件進行匹配以獲取相應的應用ID和匹配準確率,所述第一匹配文件包括窗口屬性和進程屬性的組合與應用ID的匹配關系列表以及相應的匹配準確率;
第三獲取模塊,適于獲取匹配準確率最高的應用ID;
第四獲取模塊,適于通過匹配準確率最高的應用ID獲取其對應應用窗口的名稱和圖標信息。
9.如權利要求8所述的裝置,匹配模塊還適于當所述窗口屬性中不包括進程ID時,根據(jù)所述窗口屬性,與對應的第二匹配文件進行匹配以獲取相應的應用ID和匹配準確率,所述第二匹配文件包括窗口屬性與應用ID的匹配關系列表以及相應的匹配準確率。
10.一種計算設備,包括如權利要求8和9中任一項所述的應用窗口的信息獲取裝置。