本發(fā)明涉及計算機領(lǐng)域,具體涉及一種桌面文件隔離方法。
背景技術(shù):
Windows多桌面,是通過系統(tǒng)API函數(shù) CreateDesktop即可創(chuàng)建一模一樣的桌面環(huán)境,讓同一個工作中程序放在一個桌面里面,另外的工作則放入另一個虛擬桌面,讓工作和任務(wù)更加條分縷析,井井有條。比如在默認桌面下,可以訪問訪問互聯(lián)網(wǎng)等娛樂操作,而在桌面2下只能辦公等。現(xiàn)有實現(xiàn)方式下,默認桌面和桌面2開始菜單里面的內(nèi)容是一樣的,都是系統(tǒng)默認的,不利于管理員對在桌面2下進行限制,比如禁止運行QQ或禁止使用控制面板等,也不利于用戶對默認桌面和桌面2進行良好的區(qū)分。
技術(shù)實現(xiàn)要素:
本發(fā)明為了克服以上技術(shù)的不足,提供了一種確保不改變用戶使用體驗下,通過Windows HOOK技術(shù)接管桌面2下開始菜單,顯示自定義的開始菜單,可實現(xiàn)不同桌面下應用程序的隔離和控制的桌面文件隔離方法。
本發(fā)明克服其技術(shù)問題所采用的技術(shù)方案是:
一種桌面文件隔離方法,包括如下步驟:
a)在Windows系統(tǒng)中通過API函數(shù)CreateDesktop創(chuàng)建多桌面,使Windows系統(tǒng)中具有默認桌面及桌面X;
b)設(shè)置桌面X的運行環(huán)境中需要隔離的系統(tǒng)文件夾Y;
c)當桌面X下的應用程序讀取系統(tǒng)文件夾Y時,應用程序首先讀取注冊表獲取系統(tǒng)文件夾Y所在位置;
d)注冊表回調(diào)函數(shù)截獲步驟c)中系統(tǒng)文件夾Y的路徑所在的注冊表的子健和值,當子健為Personal且值為%USERPROFILE%\系統(tǒng)文件夾Y時,將值%USERPROFILE%\修改為桌面X下的路徑Z:\桌面X\系統(tǒng)文件夾Y,其中Z為系統(tǒng)文件夾Y所在的系統(tǒng)盤符。
上述系統(tǒng)文件夾Y為我的文檔和/或我的圖片/和或我的視頻。
上述系統(tǒng)文件夾Y保存在本地磁盤中。
上述系統(tǒng)文件夾Y為Windows系統(tǒng)中的共享盤符。
上述系統(tǒng)文件夾Y為移動設(shè)備的盤符。
本發(fā)明的有益效果是:該方案采用底層驅(qū)動技術(shù),實現(xiàn)不同桌面的文件隔離,防止不同桌面文件的交叉和泄密,支持所有Windows操作系統(tǒng)(XP、Win7、Win8、Win10),效果穩(wěn)定且不影響用戶體驗。同時使得用戶不用額外購置電腦,節(jié)約了成本。
具體實施方式
下面對本發(fā)明做進一步說明。
一種桌面文件隔離方法,包括如下步驟:a)在Windows系統(tǒng)中通過API函數(shù)CreateDesktop創(chuàng)建多桌面,使Windows系統(tǒng)中具有默認桌面及桌面X;b)設(shè)置桌面X的運行環(huán)境中需要隔離的系統(tǒng)文件夾Y;c)當桌面X下的應用程序讀取系統(tǒng)文件夾Y時,應用程序首先讀取注冊表獲取系統(tǒng)文件夾Y所在位置;d)注冊表回調(diào)函數(shù)截獲步驟c)中系統(tǒng)文件夾Y的路徑所在的注冊表的子健和值,當子健為Personal且值為%USERPROFILE%\系統(tǒng)文件夾Y時,將值%USERPROFILE%\修改為桌面X下的路徑Z:\桌面X\系統(tǒng)文件夾Y,其中Z為系統(tǒng)文件夾Y所在的系統(tǒng)盤符。下面以系統(tǒng)文件夾Y為Windows下“我的文檔”為例進行說明,系統(tǒng)文件夾路徑存在于注冊表中。以“我的文檔”路徑為例,存在于以下注冊表中:
鍵:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders;
子健:Personal;
值:%USERPROFILE%\Documents;
其中 %USERPROFILE% 代表環(huán)境變量,等價于 C:\Users\用戶名,比如,當前電腦用戶是 Administrator,則
%USERPROFILE%\Documents等價于 C:\Users\Administrator\Documents。
當應用程序要訪問“我的文檔”,通過讀取以上注冊表獲得路徑,然后再進行訪問。
當應用程序首選通過注冊表讀取 “我的文檔”路徑,然后通過此路徑訪問我的文檔。本方案正是基于這一原理,當桌面X下的應用程序讀取上述注冊表時,注冊表回調(diào)函數(shù)截獲,并吧注冊表值 %USERPROFILE%\Documents修改為桌面X特定路徑,假設(shè)是 C:\桌面X\Documents,這樣桌面2下訪問的就是新路徑 C\桌面X\ Documents,而默認桌面不做任何處理,從而達到了兩個桌面下文件隔離的目的。
假設(shè)某公司采用虛擬化桌面辦公,在默認桌面下處理非涉密工作,在桌面X下處理涉密工作,設(shè)計圖紙只能在桌面X下使用,不可保存到默認桌面下。通過本方案,在桌面X下處理設(shè)計圖紙,當用戶把設(shè)計圖紙保存到“我的文檔” 時,通過本方案,設(shè)計圖紙實際上保存在了只屬于桌面X的特定文件夾下??傊谀J桌面上是無法看到桌面X保存的設(shè)計圖紙的,防止了資料的泄密。該方案采用底層驅(qū)動技術(shù),實現(xiàn)不同桌面的文件隔離,防止不同桌面文件的交叉和泄密,支持所有Windows操作系統(tǒng)(XP、Win7、Win8、Win10),效果穩(wěn)定且不影響用戶體驗。同時使得用戶不用額外購置電腦,節(jié)約了成本。
上述系統(tǒng)文件夾Y為我的文檔和/或我的圖片/和或我的視頻。系統(tǒng)文件夾Y也可是保存在本地磁盤中。系統(tǒng)文件夾Y為Windows系統(tǒng)中的共享盤符。系統(tǒng)文件夾Y為移動設(shè)備的盤符。