本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種對文件/文件夾進(jìn)行操作的方法及裝置。
背景技術(shù):應(yīng)用軟件產(chǎn)品在運(yùn)行過程中常常需要對文件/文件夾進(jìn)行操作,比如創(chuàng)建一些臨時文件/文件夾,以用于存儲應(yīng)用軟件產(chǎn)品在運(yùn)行過程中產(chǎn)生的臨時文件等,而在應(yīng)用軟件產(chǎn)品運(yùn)行完成后需要刪除這些臨時產(chǎn)生的文件/文件夾。目前,通常的做法是通過調(diào)用操作系統(tǒng)提供的系統(tǒng)API接口對文件/或文件夾進(jìn)行操作。在應(yīng)用軟件產(chǎn)品開發(fā)時,通過操作系統(tǒng)提供的API接口對系統(tǒng)中的文件/文件夾執(zhí)行創(chuàng)建、復(fù)制、移動、刪除等操作。例如,以Windows操作系統(tǒng)為例,文件操作相關(guān)的系統(tǒng)API包括:CreateFile,WriteFile,ReadFile,CopyFile,MoveFile,DeleteFile等,而文件夾操作相關(guān)系統(tǒng)API包括:CreateDirectory,RemoveDirectory等。但是,本領(lǐng)域的技術(shù)人員可以理解,目前絕大多數(shù)系統(tǒng)都安裝有殺毒軟件等安全防護(hù)工具,而安全防護(hù)工具的其中一個功能就是對系統(tǒng)中的文件或文件夾進(jìn)行保護(hù),防止惡意程序?qū)ζ溥M(jìn)行修改、刪除,或者阻止惡意程序在操作系統(tǒng)中創(chuàng)建文件/文件夾等。如果所開發(fā)的軟件產(chǎn)品在安裝有殺毒軟件等安全防護(hù)工具的系統(tǒng)下運(yùn)行,且對安全防護(hù)工具所保護(hù)的文件/文件夾進(jìn)行操作時,安全防護(hù)工具可能會對調(diào)用系統(tǒng)API的應(yīng)用程序進(jìn)行攔截,更有可能直接攔截該應(yīng)用程序的啟動。可見,通過調(diào)用操作系統(tǒng)提供的系統(tǒng)API對文件/文件夾操作存在一定的風(fēng)險,即在安裝有殺毒軟件等安全防護(hù)工具的系統(tǒng)中無法運(yùn)行,造成軟件產(chǎn)品無法運(yùn)行。
技術(shù)實現(xiàn)要素:為解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提供了一種文件/文件夾的操作方法及裝置,以便能夠有效地對文件/文件夾進(jìn)行操作。根據(jù)本發(fā)明的一方面,其提供了一種對文件/文件夾進(jìn)行操作的方法,該方法包括:啟動文件瀏覽界面窗口;在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo);在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)進(jìn)行文件/文件夾操作??蛇x地,通過模擬用戶在圖形用戶界面中的操作來啟動文件瀏覽界面窗口、對文件/文件夾進(jìn)行操作??蛇x地,所述模擬用戶在圖形用戶界面中的操作包括:在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)模擬鍵盤和/或鼠標(biāo)進(jìn)行文件/文件夾操作??蛇x地,所述在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo)包括獲取文件/文件夾在文件瀏覽界面窗口中的坐標(biāo),或獲取文件瀏覽界面窗口中的空白位置處坐標(biāo)。可選地,所述啟動文件瀏覽界面窗口,包括:獲取所述文件/文件夾的上級路徑;根據(jù)所述路徑通過系統(tǒng)接口啟動文件瀏覽界面窗口;可選地,獲取文件/文件夾在文件瀏覽界面窗口中的操作坐標(biāo)具體包括:獲取文件瀏覽界面窗口的窗口句柄;根據(jù)所述窗口句柄獲取該文件瀏覽界面窗口中所有文件/文件夾的屬性信息;根據(jù)所述文件瀏覽界面窗口中所有文件/文件夾的屬性信息和所述文件/文件夾的名稱,獲得所述文件/文件夾在所述文件瀏覽界面中的相對位置;根據(jù)所述文件/文件夾在所述文件瀏覽界面中的相對位置獲得所述文件/文件夾的操作坐標(biāo)??蛇x地,所述文件/文件夾操作包括以下操作中的一個或多個:剪切、刪除、新建、復(fù)制、粘貼、重命名或拖拽操作??蛇x地,若所述文件/文件夾操作為文件/文件夾剪切、刪除、新建、復(fù)制、粘貼或重命名操作,則對文件/文件夾操作具體包括:獲取系統(tǒng)的所有頂級窗口句柄列表;在所述操作坐標(biāo)上模擬右鍵操作;在預(yù)定時間內(nèi)再次獲取系統(tǒng)的所有頂級窗口列表;根據(jù)兩次獲取的所有頂級窗口列表的差集獲取彈出菜單的窗口句柄;根據(jù)所述彈出菜單的窗口句柄獲得所述彈出菜單的菜單句柄;根據(jù)所述彈出菜單的菜單句柄獲取所述彈出菜單上相應(yīng)操作的菜單項,進(jìn)行相應(yīng)操作。可選地,若所述文件/文件夾操作為拖拽操作,則對文件/文件夾操作具體包括:啟動目的窗口;獲取目的窗口句柄,并使目的窗口最大化;根據(jù)所述文件/文件夾的操作坐標(biāo),模擬鼠標(biāo)操作,將文件/文件夾移動到目的窗口的空白處,并釋放鼠標(biāo)。根據(jù)本發(fā)明另一方面,其提供了一種對文件/文件夾進(jìn)行操作的裝置,包括:啟動模塊,用于啟動文件瀏覽界面窗口;獲取模塊,用于在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo);操作模塊,用于在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)進(jìn)行文件/文件夾操作??蛇x地,所述啟動模塊通過模擬用戶在圖形用戶界面中的操作來啟動文件瀏覽界面窗口,所述操作模塊也通過模擬用戶在圖形用戶界面中的操作對文件/文件夾進(jìn)行操作??蛇x地,所述模擬用戶在圖形用戶界面中的操作包括:在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)模擬鍵盤和/或鼠標(biāo)進(jìn)行文件/文件夾操作。可選地,所述在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo)包括獲取文件/文件夾在文件瀏覽界面窗口中的坐標(biāo),或獲取文件瀏覽界面窗口中的空白位置處坐標(biāo)??蛇x地,所述啟動模塊包括:路徑獲取模塊,用于獲取所述文件/文件夾的上級路徑;啟動窗口模塊,用于根據(jù)所述路徑通過系統(tǒng)接口啟動文件瀏覽界面窗口;可選地,獲取文件/文件夾在文件瀏覽界面窗口中的操作坐標(biāo)具體包括:獲取文件瀏覽界面窗口的窗口句柄;根據(jù)所述窗口句柄獲取該文件瀏覽界面窗口中所有文件/文件夾的屬性信息;根據(jù)所述文件瀏覽界面窗口中所有文件/文件夾的屬性信息和所述文件/文件夾的名稱,獲得所述文件/文件夾在所述文件瀏覽界面中的相對位置;根據(jù)所述文件/文件夾在所述文件瀏覽界面中的相對位置獲得所述文件/文件夾的操作坐標(biāo)??蛇x地,所述文件/文件夾操作包括以下操作中的一個或多個:剪切、刪除、新建、復(fù)制、粘貼、重命名或拖拽操作??蛇x地,若所述文件/文件夾操作為文件/文件夾剪切、刪除、新建、復(fù)制、粘貼或重命名操作,則所述操作模塊對文件/文件夾操作具體包括:獲取系統(tǒng)的所有頂級窗口句柄列表;在所述操作坐標(biāo)上模擬右鍵操作;在預(yù)定時間內(nèi)再次獲取系統(tǒng)的所有頂級窗口列表;根據(jù)兩次獲取的所有頂級窗口列表的差集獲取彈出菜單的窗口句柄;根據(jù)所述彈出菜單的窗口句柄獲得所述彈出菜單的菜單句柄;根據(jù)所述彈出菜單的菜單句柄獲取所述彈出菜單上相應(yīng)操作的菜單項,進(jìn)行相應(yīng)操作。可選地,若所述操作為拖拽操作,則所述操作模塊對文件/文件夾操作具體包括:啟動目的窗口;獲取目的窗口句柄,并使目的窗口最大化;根據(jù)所述文件/文件夾的操作坐標(biāo),模擬鼠標(biāo)操作,將文件/文件夾移動到目的窗口的空白處,并釋放鼠標(biāo)。本發(fā)明提出的上述方案通過模擬用戶在圖形化用戶界面中的操作啟動文件瀏覽界面窗口,并模擬用戶的鼠標(biāo)和/或鍵盤動作對文件/文件夾進(jìn)行操作。其在與各種殺毒軟件或者防護(hù)軟件并存的情況下,能夠?qū)崿F(xiàn)模擬真實用戶進(jìn)行文件/文件夾操作的行為,實現(xiàn)文件/文件夾操作功能的合法性,保證對文件/文件夾的進(jìn)行安全操作,同時也確保了系統(tǒng)安全性,以及保證了對應(yīng)受限用戶對文件/文件夾操作的模擬過程。本發(fā)明提出的上述方案能夠忽略平臺的差異性,適用于所有對文件/文件夾操作的場景。為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式詳細(xì)說明。附圖說明圖1示出了本發(fā)明提供的一種對文件/文件夾進(jìn)行操作的方法流程圖;圖2示出了在Windows系統(tǒng)中啟動的“運(yùn)行”窗口的圖形化示意圖;圖3示出了在Windows系統(tǒng)下模擬用戶手動操作啟動文件瀏覽界面窗口的具體實施方式流程圖;圖4示出了在Windows系統(tǒng)中用explorer打開文件瀏覽界面窗口的示意圖;圖5示出了在Windows系統(tǒng)的文件瀏覽界面窗口下獲取文件/文件夾的操作坐標(biāo)的具體實施方式流程圖;圖6示出了在Windows系統(tǒng)中模擬用戶在圖形化用戶界面中通過右鍵點擊對文件/文件夾進(jìn)行操作的具體實施方式流程圖;圖7示出了對文件/文件夾進(jìn)行“新建”操作的具體實施方式流程圖;圖8示出了在Windows操作系統(tǒng)下對文件/文件夾進(jìn)行“拖拽”操作的具體實施方式流程圖;圖9示出了Windows系統(tǒng)下刪除文件/文件夾操作時系統(tǒng)彈出的消息提示框;圖10示出了Windows操作系統(tǒng)下模擬用戶操作對文件/文件夾操作時對系統(tǒng)彈出的消息框的具體處理流程;圖11示出了本發(fā)明提出的一種對文件/文件夾進(jìn)行操作的裝置的模塊化結(jié)構(gòu)圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明作進(jìn)一步的詳細(xì)說明。圖1示出了本發(fā)明提供的一種對文件/文件夾進(jìn)行操作的方法流程圖。如圖1所示,該方法包括:步驟101:啟動文件瀏覽界面窗口;步驟102:在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo);步驟103:在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)進(jìn)行文件/文件夾操作。下面以Windows系統(tǒng)為例詳細(xì)說明本發(fā)明提出的對文件/文件夾進(jìn)行操作的方法所包括的上述各個步驟,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,該方法不僅限于Windows系統(tǒng),其還適用于任何其它圖形界面操作系統(tǒng)。步驟101:啟動文件瀏覽界面窗口。本發(fā)明提出的上述方法,通過操作系統(tǒng)提供的系統(tǒng)入口命令,模擬用戶在圖形化用戶界面中的操作來啟動文件瀏覽界面窗口。首先,在Windows系統(tǒng)中,通過系統(tǒng)提供的API接口模擬用戶在圖形化用戶界面中的手動操作打開“運(yùn)行”窗口。圖2示出了在Windows系統(tǒng)中啟動的“運(yùn)行”窗口的圖形化示意圖??梢酝ㄟ^調(diào)用系統(tǒng)API接口keybd_event輸入VK_LWIN+R的鍵盤虛擬碼調(diào)出“運(yùn)行”窗口。其次,在打開的“運(yùn)行”窗口中,通過系統(tǒng)提供的API接口模擬用戶在圖形化界面中的手動操作啟動文件瀏覽界面窗口。圖3示出了在Windows系統(tǒng)下模擬用戶手動操作啟動文件瀏覽界面窗口的具體實施方式流程圖。如圖3所示,該具體實施方式具體包括:步驟301:獲取待操作的文件/文件夾的上級文件路徑dirpath;比如待操作的是文件,且該文件路徑為C:\Users
ewilyn\Pictures
est\1.png,則其上級為則C:\Users
ewilyn\Pictures
est;步驟302:調(diào)用系統(tǒng)API接口“FindWindow&EnumChildWindows”查找窗口“ClassName=Eidt”的輸入框的句柄“hedit”,即獲得“運(yùn)行”窗口上的輸入框句柄,然后調(diào)用系統(tǒng)API接口SendMessage向此輸入框句柄hedit發(fā)送WM_SETTEXT的消息號,其參數(shù)為“explorer”和待操作文件/文件夾的上級路徑dirpath,即用于模擬用戶操作向所述“運(yùn)行”窗口上的輸入框中輸入要打開的文件瀏覽組件以及所述上級路徑;步驟303:調(diào)用系統(tǒng)API接口FindWindow&EnumChildWindows查找窗口WindowsName=“確定”的按鈕句柄hbtn,即用于獲得“運(yùn)行”窗口上的“確定”按鈕,調(diào)用系統(tǒng)API接口PostMessage向句柄hbtn發(fā)送BN_CLICKED消息,即用于模擬用戶操作點擊“運(yùn)行”窗口上的“確認(rèn)”按鈕,打開待操作文件/文件夾所在的文件夾瀏覽界面;圖4示出了在Windows系統(tǒng)中用explorer打開文件瀏覽界面窗口的示意圖。步驟304:在一個超時時間如5s內(nèi),輪詢調(diào)用系統(tǒng)API接口FindWindow,查找窗口ClassName=CabinetWClass或ExploreWClass的窗口句柄,即查找所打開的待操作文件/文件夾所在的文件夾瀏覽界面句柄。上述模擬用戶在圖形化界面上的操作啟動文件瀏覽界面窗口的具體實施過程僅是示意性說明具體操作過程,而不僅限于上述一種方式,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可以通過其他方式模擬用戶的操作,就如上述方法步驟303中,還可以直接調(diào)用系統(tǒng)API接口模擬用戶按下回車鍵來打開待操作文件/文件夾所在的文件夾瀏覽界面等。另外,上述具體實施方式僅以Windows系統(tǒng)為例加以說明,但不僅限于Windows系統(tǒng),其它圖形化界面操作系統(tǒng)上的文件/文件夾操作也同樣適用本發(fā)明提出的上述方案。步驟102:在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo)??蛇x地,該步驟可以通過調(diào)用系統(tǒng)API獲取文件瀏覽界面窗口的句柄,并根據(jù)所述文件瀏覽界面窗口的句柄獲取待操作文件/文件夾的上級路徑的屬性信息,從而得到該路徑下的所有文件和/或文件夾名稱,并從中找到待操作的文件/文件夾,進(jìn)而獲取其操作坐標(biāo)。圖5示出了在Windows系統(tǒng)的文件瀏覽界面窗口下獲取文件/文件夾的操作坐標(biāo)的具體實施方式流程圖。如圖5所示,獲取文件/文件夾的操作坐標(biāo)的具體實施方式流程如下:步驟501:調(diào)用系統(tǒng)API接口FindWindow&EnumChildWindows查找獲得所啟動的文件瀏覽界面窗口的句柄hwnd,通過調(diào)用系統(tǒng)API接口AccessibleObjectFromWindow,參數(shù)為所述文件瀏覽界面窗口句柄hwnd,獲取待操作文件/文件夾的上級路徑的IAccessible對象objroot;步驟502:調(diào)用系統(tǒng)API接口AccessibleObjectFromWindow,參數(shù)為所述文件瀏覽界面窗口界面hwnd和所述待操作文件/文件夾的上級路徑的IAccessible對象objroot,獲取所述文件瀏覽界面窗口hwnd中所有子文件/文件夾對象childobj,調(diào)用IAccessible對象的成員函數(shù)accRole和accName獲取所有子文件/文件夾對象childobj的屬性信息,所述屬性信息包括文件/文件夾名稱等,遍歷所有屬性信息中的文件/文件夾名稱,匹配查找是否存在與待操作文件/文件夾一致的文件/文件夾名稱;步驟503:若找到匹配的文件/文件夾名稱,則調(diào)用系統(tǒng)函數(shù)accLocation獲取所匹配得到的子文件/文件夾對象childobj的位置信息location;步驟504:根據(jù)所獲得的子文件/文件夾對象childobj的位置信息location,計算出其絕對坐標(biāo)pos,即獲取該子文件/文件夾顯示在文件瀏覽器界面中的圖標(biāo)的中心點坐標(biāo),其計算公式如下:location=(left,top,width,hight)pos=((left+width,top+hight/2))。上述模擬用戶在圖形化界面上的操作獲取文件/文件夾操作坐標(biāo)的具體實施過程僅是示意性說明具體操作過程,而不僅限于上述一種方式,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可以通過其他方式獲取文件/文件夾的操作坐標(biāo)。步驟103:在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)進(jìn)行文件/文件夾操作??蛇x地,該步驟也可以通過模擬用戶在圖形化界面中的操作來實現(xiàn),具體操作根據(jù)其操作的不同手段具有不同的實現(xiàn)過程。比如對于文件/文件夾在圖形用戶界面中的操作包括:打開、剪切、刪除、新建、復(fù)制、粘貼、重命名或拖拽等,而這些操作有些可以通過對待操作文件/文件夾進(jìn)行右鍵點擊,并從點擊彈出的菜單執(zhí)行相應(yīng)操作,比如打開、剪切、刪除、新建、復(fù)制、粘貼、重命名等,而有些則需要通過其他方式,如拖拽操作等,對于能夠右鍵點擊執(zhí)行的菜單,具體地可以首先在待操作文件/文件夾的圖標(biāo)位置坐標(biāo)處模擬用戶鼠標(biāo)右鍵點擊操作,并獲得右鍵點擊彈出的菜單,進(jìn)而遍歷所述彈出菜單中的菜單項,并點擊相匹配的菜單項來完成操作。而對于拖拽操作則可以在文件瀏覽界面下打開拖拽的目標(biāo)路徑,打開的具體方式參見步驟101,然后模擬用戶鼠標(biāo)拖拽操作將待操作文件/文件夾拖拽至該目標(biāo)路徑對應(yīng)的文件瀏覽界面中。圖6示出了在Windows系統(tǒng)中模擬用戶在圖形化用戶界面中通過右鍵點擊對文件/文件夾進(jìn)行操作的具體實施方式流程圖。如圖6所示,其包括:步驟601:通過調(diào)用系統(tǒng)API接口EnumChildWindows獲取系統(tǒng)中當(dāng)前所有頂級窗口句柄列表,即為第一窗口句柄列表hwndlist1;步驟602:通過調(diào)用系統(tǒng)API接口mouse_event傳遞MOUSEEVENTF_RIGHTDOWN&MOUSEEVENTF_RIGHTUP參數(shù),并在所獲得的待操作文件/文件夾的操作坐標(biāo)處模擬鼠標(biāo)右鍵操作;步驟603:在一個超時時間內(nèi)(默認(rèn)5s),循環(huán)調(diào)用系統(tǒng)API接口EnumChildWindows獲得一份系統(tǒng)中當(dāng)前所有的頂級窗口句柄,記為第二窗口句柄列表hwndlist2;步驟604:計算第二窗口句柄列表hwndlist2與第一窗口句柄列表hwndlist1的差集,在所述差集中查找ClassName=#32768的句柄,即彈出菜單項的窗口句柄hwnd;步驟605:通過調(diào)用系統(tǒng)API接口GetMenu將所述彈出菜單項的窗口句柄hwnd轉(zhuǎn)換為菜單句柄hmenu;步驟606:根據(jù)該菜單句柄hmenu調(diào)用系統(tǒng)API接口GetMenuItemCount獲取該菜單中所有菜單項的數(shù)量,并調(diào)用系統(tǒng)API接口GetMenuItemInfo遍歷每一個菜單項,獲取其文字信息獲取,并根據(jù)所述文字信息匹配所要進(jìn)行的操作,獲取匹配得到的菜單項的坐標(biāo)(x,y),并模擬鼠標(biāo)點擊操作,完成相應(yīng)的操作。上述模擬用戶在圖形化界面上的對文件/文件夾進(jìn)行的具體實施過程僅是示意性說明具體操作過程,而不僅限于上述一種方式,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可以通過其他方式對文件/文件夾的進(jìn)行相應(yīng)的操作,如通過模擬用戶鍵盤操作或者模擬鼠標(biāo)和鍵盤的結(jié)合操作等。下面在Windows操作系統(tǒng)下,以幾個主要的文件/文件夾操作為例來詳細(xì)說明本發(fā)明的步驟103。圖7示出了對文件/文件夾進(jìn)行“新建”操作的具體實施方式流程圖。如圖7所示,假設(shè)前面的步驟中文件/文件夾的操作坐標(biāo)選擇在其上級路徑對應(yīng)的文件瀏覽界面的空白位置處,則其包括:步驟701:通過調(diào)用系統(tǒng)API接口EnumChildWindows獲取系統(tǒng)中當(dāng)前所有頂級窗口句柄列表hwndlist1;步驟702:通過調(diào)用系統(tǒng)API接口mouse_event傳遞參數(shù)MOUSEEVENTF_RIGHTDOWN&MOUSEEVENTF_RIGHTUP,在待操作文件/文件夾的上級路徑所在文件瀏覽界面的空白位置處,模擬鼠標(biāo)右鍵操作;步驟703:在一個超時時間內(nèi)(默認(rèn)5s),循環(huán)調(diào)用系統(tǒng)API接口EnumChildWindows獲得一份系統(tǒng)中當(dāng)前所有的頂級窗口句柄,記為第二窗口句柄列表hwndlist2;步驟:704:計算第二窗口句柄列表hwndlist2與第一窗口句柄列表hwndlist1的差集,在所述差集中查找ClassName=#32768的句柄,即彈出菜單項的窗口句柄hwnd;步驟705:通過調(diào)用系統(tǒng)API接口GetMenu將所述彈出菜單項的窗口句柄hwnd轉(zhuǎn)換為菜單句柄hmenu;步驟706:根據(jù)該菜單句柄hmenu調(diào)用系統(tǒng)API接口GetMenuItemCount獲取該菜單中所有菜單項的數(shù)量,并調(diào)用系統(tǒng)API接口GetMenuItemInfo遍歷每一個菜單項,獲取其文字信息為“新建”的菜單項,并返回該菜單項所在的位置坐標(biāo)(x,y),模擬用戶將鼠標(biāo)光標(biāo)放置在該位置坐標(biāo)(x,y),并根據(jù)上面介紹的步驟查找彈出菜單,如此遞歸繼續(xù)查找到文字信息為“文件夾”的菜單項或其他相應(yīng)菜單項;步驟707:在所找到的菜單項對應(yīng)的位置坐標(biāo)處,模擬用戶鼠標(biāo)點擊操作,以執(zhí)行文件/文件夾的新建操作。雖然上面僅給出了“新建”操作的具體流程,但是本領(lǐng)域技術(shù)人員根據(jù)上述流程能夠直接、毫無疑義地得出其它相應(yīng)操作的具體流程。有些操作可能不僅限于上面給出的幾個步驟,如刪除操作,其會在點擊刪除菜單項后彈出一系統(tǒng)提示框。圖8示出了在Windows操作系統(tǒng)下對文件/文件夾進(jìn)行“拖拽”操作的具體實施方式流程圖。如圖8所示,其包括:步驟801:打開拖拽操作的目的窗口,其步驟同啟動“運(yùn)行”窗口并在“運(yùn)行”窗口中打開文件瀏覽界面窗口;步驟802:通過調(diào)用系統(tǒng)API接口EnumChildWindows獲取所述目的窗口句柄desthwnd,并調(diào)用系統(tǒng)API接口PostMessage向所述目的窗口柄desthwnd發(fā)送SC_MAXIMIZE消息,使目的窗口最大化;步驟803:調(diào)用系統(tǒng)API接口MoveWindow向待操作文件/文件夾的文件瀏覽界面窗句柄hwnd發(fā)送rect參數(shù),使該窗口顯示為固定大小尺寸rect;步驟804:調(diào)用系統(tǒng)API接口SetCursorPos使鼠標(biāo)移動到待操作文件/文件夾的操作坐標(biāo)pos處;步驟805:通過調(diào)用系統(tǒng)API接口mouse_event傳遞參數(shù)MOUSEEVENTF_LEFTDOWN,模擬鼠標(biāo)拖拽文件/文件夾移動到目的窗口句柄desthwnd的空白處,調(diào)用系統(tǒng)API接口mouse_event傳遞參數(shù)MOUSEEVENTF_LEFTUP釋放鼠標(biāo),完成模擬用戶在圖形化用戶界面下的拖拽操作。對于其他操作如打開、剪切、刪除、復(fù)制、粘貼、重命名等操作,與新建操作類似,所不同的是,定位相應(yīng)操作的菜單項時,選擇“打開”、“剪切”、“刪除”、“復(fù)制”、“粘貼”、“重命名”等選項,另外,對于重命名操作,模擬用戶的鼠標(biāo)操作點擊相應(yīng)菜單項后,再模擬用戶的鍵盤操作輸入相應(yīng)的文件/文件夾的新名稱。圖9示出了Windows系統(tǒng)下刪除文件/文件夾操作時系統(tǒng)彈出的消息提示框。其是在點擊相應(yīng)菜單項后,系統(tǒng)用于提示用戶是否繼續(xù)下一步操作的提示框。因此對于刪除操作,在模擬用戶的鼠標(biāo)操作點擊相應(yīng)菜單項之后還需要進(jìn)一步處理。圖10示出了Windows操作系統(tǒng)下模擬用戶操作對文件/文件夾操作時對系統(tǒng)彈出的消息框的具體處理流程。如圖9所示,其包括:步驟1001:在一個超時時間內(nèi)(默認(rèn)5s),循環(huán)調(diào)用系統(tǒng)API接口EnumChildWindows獲得一份系統(tǒng)中當(dāng)前所有的頂級窗口句柄,記為第三窗口句柄列表hwndlist3;步驟1002:計算該第三窗口句柄列表hwndlist3與之前點擊相應(yīng)鼠標(biāo)彈出該系統(tǒng)提示框之前獲得的第二窗口句柄列表hwndlist2的差集,在所述差集中查找ClassName=#32770的句柄,即系統(tǒng)提示框的窗口句柄hwnd;步驟1003:根據(jù)系統(tǒng)提示框的窗口句柄hwnd,調(diào)用系統(tǒng)API接口FindWindow&EnumChildWindows查找系統(tǒng)提示框的窗口中WindowsName=“是”或“否”的按鈕句柄hbtn,調(diào)用系統(tǒng)API接口PostMessage向該按鈕句柄hbtn發(fā)送BN_CLICKED消息,選擇“是”或“否”按鈕。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述步驟也可以通過模擬用戶鍵盤操作來完成,如在彈出系統(tǒng)提示框后模擬鍵盤回車操作選擇“是”,或者模擬“tab”鍵選擇“否”再回車等。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上面僅示例性的介紹了本發(fā)明所提出的文件/文件夾的操作方法的一部分具體實施方式,其中僅涵蓋了對文件/文件夾的一部分操作方式,而其他對文件/文件夾的具體操作都可以沿用上述方法,對其進(jìn)行擴(kuò)展或變形,只要是通過模擬用戶在圖形化用戶界面中的操作對文件/文件夾進(jìn)行相應(yīng)的操作均涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。從上述具體實施方式可以看出,本發(fā)明提出的上述方案中全部流程均模擬用戶在圖形化用戶界面中的操作對文件/文件夾進(jìn)行操作,而不是調(diào)用系統(tǒng)提供的文件/文件夾操作函數(shù),比如CreateFile,WriteFile,ReadFile,CopyFile,MoveFile,DeleteFile,CreateDirectory,RemoveDirectory等函數(shù)對文件/文件夾進(jìn)行操作。其能夠完美的在防護(hù)軟件監(jiān)控的系統(tǒng)環(huán)境下,實現(xiàn)對文件/文件夾的安全操作,同時避免了自己的執(zhí)行程序不會被防護(hù)軟件誤報導(dǎo)致功能失效等情況,本方法不只限于對殺毒軟件或者防護(hù)軟件的環(huán)境,同時也適用于各種操作系統(tǒng)的正常環(huán)境,能夠保證最大的兼容性。需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。圖11示出了本發(fā)明提出的一種對文件/文件夾進(jìn)行操作的裝置的模塊化結(jié)構(gòu)圖。如圖11所示,該裝置包括:啟動模塊1101,用于啟動文件瀏覽界面窗口;獲取模塊1102,用于在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo);操作模塊1103,用于在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)進(jìn)行文件/文件夾操作。下面依然以Windows系統(tǒng)為例詳細(xì)說明本發(fā)明提出對文件/文件夾進(jìn)行操作的裝置所包括的上述各個模塊,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知道,該裝置不僅限于Windows系統(tǒng),其還適用于其它任何圖形化界面系統(tǒng)。啟動模塊,其用于啟動文件瀏覽界面窗口。本發(fā)明提出的上述裝置,通過操作系統(tǒng)提供的系統(tǒng)入口命令,模擬用戶在圖形化用戶界面中的操作來啟動文件瀏覽界面窗口。首先,在Windows系統(tǒng)中,所述啟動模塊通過系統(tǒng)提供的API接口模擬用戶在圖形化用戶界面中的手動操作打開“運(yùn)行”窗口。具體地,啟動模塊可以通過調(diào)用系統(tǒng)API接口keybd_event輸入VK_LWIN+R的鍵盤虛擬碼調(diào)出“運(yùn)行”窗口。其次,在打開的“運(yùn)行”窗口中,啟動模塊通過系統(tǒng)提供的API接口模擬用戶在圖形化界面中的手動操作啟動文件瀏覽界面窗口。啟動模塊在Windows系統(tǒng)下模擬用戶手動操作啟動文件瀏覽界面窗口的具體實施方式包括:獲取待操作的文件/文件夾的上級文件路徑dirpath;比如待操作的是文件,且該文件路徑為C:\Users
ewilyn\Pictures
est\1.png,則其上級為則C:\Users
ewilyn\Pictures
est;調(diào)用系統(tǒng)API接口“FindWindow&EnumChildWindows”查找窗口“ClassName=Eidt”的輸入框的句柄“hedit”,即獲得“運(yùn)行”窗口上的輸入框句柄,然后調(diào)用系統(tǒng)API接口SendMessage向此輸入框句柄hedit發(fā)送WM_SETTEXT的消息號,其參數(shù)為“explorer”和待操作文件/文件夾的上級路徑dirpath,即用于模擬用戶操作向所述“運(yùn)行”窗口上的輸入框中輸入要打開的文件瀏覽組件以及所述上級路徑;調(diào)用系統(tǒng)API接口FindWindow&EnumChildWindows查找窗口WindowsName=“確定”的按鈕句柄hbtn,即用于獲得“運(yùn)行”窗口上的“確定”按鈕,調(diào)用系統(tǒng)API接口PostMessage向句柄hbtn發(fā)送BN_CLICKED消息,即用于模擬用戶操作點擊“運(yùn)行”窗口上的“確認(rèn)”按鈕,打開待操作文件/文件夾所在的文件夾瀏覽界面;圖4示出了在Windows系統(tǒng)中用explorer打開文件瀏覽界面窗口的示意圖。在一個超時時間如5s內(nèi),輪詢調(diào)用系統(tǒng)API接口FindWindow,查找窗口ClassName=CabinetWClass或ExploreWClass的窗口句柄,即查找所打開的待操作文件/文件夾所在的文件夾瀏覽界面句柄。上述模擬用戶在圖形化界面上的操作啟動文件瀏覽界面窗口的具體實施過程僅是示意性說明具體操作過程,而不僅限于上述一種方式,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可以通過其他方式模擬用戶的操作,如還可以直接調(diào)用系統(tǒng)API接口模擬用戶按下回車鍵來打開待操作文件/文件夾所在的文件夾瀏覽界面等。另外,上述具體實施方式僅以Windows系統(tǒng)為例加以說明,但不僅限于Windows系統(tǒng),其它圖形化界面操作系統(tǒng)上的文件/文件夾操作也同樣適用本發(fā)明提出的上述方案。獲取模塊,用于在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo)??蛇x地,該獲取模塊可以通過調(diào)用系統(tǒng)API獲取文件瀏覽界面窗口的句柄,并根據(jù)所述文件瀏覽界面窗口的句柄獲取待操作文件/文件夾的上級路徑的屬性信息,從而得到該路徑下的所有文件和/或文件夾名稱,并從中找到待操作的文件/文件夾,進(jìn)而獲取其操作坐標(biāo)。獲取模塊在Windows系統(tǒng)的文件瀏覽界面窗口下獲取文件/文件夾的操作坐標(biāo)的具體實施方式如下:調(diào)用系統(tǒng)API接口FindWindow&EnumChildWindows查找獲得所啟動的文件瀏覽界面窗口的句柄hwnd,通過調(diào)用系統(tǒng)API接口AccessibleObjectFromWindow,參數(shù)為所述文件瀏覽界面窗口句柄hwnd,獲取待操作文件/文件夾的上級路徑的IAccessible對象objroot;調(diào)用系統(tǒng)API接口AccessibleObjectFromWindow,參數(shù)為所述文件瀏覽界面窗口界面hwnd和所述待操作文件/文件夾的上級路徑的IAccessible對象objroot,獲取所述文件瀏覽界面窗口hwnd中所有子文件/文件夾對象childobj,調(diào)用IAccessible對象的成員函數(shù)accRole和accName獲取所有子文件/文件夾對象childobj的屬性信息,所述屬性信息包括文件/文件夾名稱等,遍歷所有屬性信息中的文件/文件夾名稱,匹配查找是否存在與待操作文件/文件夾一致的文件/文件夾名稱;若找到匹配的文件/文件夾名稱,則調(diào)用系統(tǒng)函數(shù)accLocation獲取所匹配得到的子文件/文件夾對象childobj的位置信息location;根據(jù)所獲得的子文件/文件夾對象childobj的位置信息location,計算出其絕對坐標(biāo)pos,即獲取該子文件/文件夾顯示在文件瀏覽器界面中的圖標(biāo)的中心點坐標(biāo),其計算公式如下:location=(left,top,width,hight)pos=((left+width,top+hight/2))。上述模擬用戶在圖形化界面上的操作獲取文件/文件夾操作坐標(biāo)的具體實施過程僅是示意性說明具體操作過程,而不僅限于上述一種方式,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可以通過其他方式獲取文件/文件夾的操作坐標(biāo)。操作模塊,用于在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)進(jìn)行文件/文件夾操作??蛇x地,該模塊也可以通過模擬用戶在圖形化界面中的操作來實現(xiàn),具體操作根據(jù)其操作的不同手段可以有不同的實現(xiàn)過程。比如對于文件/文件夾在圖形用戶界面中的操作包括:打開、剪切、刪除、新建、復(fù)制、粘貼、重命名或拖拽等,而這些操作有些可以通過對待操作文件/文件夾進(jìn)行右鍵點擊,并從點擊彈出的菜單執(zhí)行相應(yīng)操作,比如打開、剪切、刪除、新建、復(fù)制、粘貼、重命名等,而有些則需要通過其他方式,如拖拽操作等,對于能夠右鍵點擊執(zhí)行的菜單,具體地可以首先在待操作文件/文件夾的圖標(biāo)位置坐標(biāo)處模擬用戶鼠標(biāo)右鍵點擊操作,并獲得右鍵點擊彈出的菜單,進(jìn)而遍歷所述彈出菜單中的菜單項,并點擊相匹配的菜單項來完成操作。而對于拖拽操作則可以在文件瀏覽界面下打開拖拽的目標(biāo)路徑,打開的具體方式對啟動模塊的介紹,然后模擬用戶鼠標(biāo)拖拽操作將待操作文件/文件夾拖拽至該目標(biāo)路徑對應(yīng)的文件瀏覽界面中。操作模塊在Windows系統(tǒng)中模擬用戶在圖形化用戶界面中通過右鍵點擊對文件/文件夾進(jìn)行操作的具體實施過程如下:通過調(diào)用系統(tǒng)API接口EnumChildWindows獲取系統(tǒng)中當(dāng)前所有頂級窗口句柄列表,即為第一窗口句柄列表hwndlist1;通過調(diào)用系統(tǒng)API接口mouse_event傳遞MOUSEEVENTF_RIGHTDOWN&MOUSEEVENTF_RIGHTUP參數(shù),并在所獲得的待操作文件/文件夾的操作坐標(biāo)處模擬鼠標(biāo)右鍵操作;在一個超時時間內(nèi)(默認(rèn)5s),循環(huán)調(diào)用系統(tǒng)API接口EnumChildWindows獲得一份系統(tǒng)中當(dāng)前所有的頂級窗口句柄,記為第二窗口句柄列表hwndlist2;計算第二窗口句柄列表hwndlist2與第一窗口句柄列表hwndlist1的差集,在所述差集中查找ClassName=#32768的句柄,即彈出菜單項的窗口句柄hwnd;通過調(diào)用系統(tǒng)API接口GetMenu將所述彈出菜單項的窗口句柄hwnd轉(zhuǎn)換為菜單句柄hmenu;根據(jù)該菜單句柄hmenu調(diào)用系統(tǒng)API接口GetMenuItemCount獲取該菜單中所有菜單項的數(shù)量,并調(diào)用系統(tǒng)API接口GetMenuItemInfo遍歷每一個菜單項,獲取其文字信息獲取,并根據(jù)所述文字信息匹配所要進(jìn)行的操作,獲取匹配得到的菜單項的坐標(biāo)(x,y),并模擬鼠標(biāo)點擊操作,完成相應(yīng)的操作。上述模擬用戶在圖形化界面上的對文件/文件夾進(jìn)行的具體實施過程僅是示意性說明具體操作過程,而不僅限于上述一種方式,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,還可以通過其他方式對文件/文件夾的進(jìn)行相應(yīng)的操作,如通過模擬用戶鍵盤操作或者模擬鼠標(biāo)和鍵盤的結(jié)合操作等。下面在Windows操作系統(tǒng)下,以幾個主要的文件/文件夾操作為例來詳細(xì)說明本發(fā)明中的操作模塊。操作模塊對文件/文件夾進(jìn)行新建操作的具體實施過程中,假設(shè)前面的步驟中文件/文件夾的操作坐標(biāo)選擇在其上級路徑對應(yīng)的文件瀏覽界面的空白位置處,則其具體如下:通過調(diào)用系統(tǒng)API接口EnumChildWindows獲取系統(tǒng)中當(dāng)前所有頂級窗口句柄列表hwndlist1;通過調(diào)用系統(tǒng)API接口mouse_event傳遞參數(shù)MOUSEEVENTF_RIGHTDOWN&MOUSEEVENTF_RIGHTUP,在待操作文件/文件夾的上級路徑所在文件瀏覽界面的空白位置處,模擬鼠標(biāo)右鍵操作;在一個超時時間內(nèi)(默認(rèn)5s),循環(huán)調(diào)用系統(tǒng)API接口EnumChildWindows獲得一份系統(tǒng)中當(dāng)前所有的頂級窗口句柄,記為第二窗口句柄列表hwndlist2;計算第二窗口句柄列表hwndlist2與第一窗口句柄列表hwndlist1的差集,在所述差集中查找ClassName=#32768的句柄,即彈出菜單項的窗口句柄hwnd;通過調(diào)用系統(tǒng)API接口GetMenu將所述彈出菜單項的窗口句柄hwnd轉(zhuǎn)換為菜單句柄hmenu;根據(jù)該菜單句柄hmenu調(diào)用系統(tǒng)API接口GetMenuItemCount獲取該菜單中所有菜單項的數(shù)量,并調(diào)用系統(tǒng)API接口GetMenuItemInfo遍歷每一個菜單項,獲取其文字信息為“新建”的菜單項,并返回該菜單項所在的位置坐標(biāo)(x,y),模擬用戶將鼠標(biāo)光標(biāo)放置在該位置坐標(biāo)(x,y),并根據(jù)上面介紹的步驟查找彈出菜單,如此遞歸繼續(xù)查找到文字信息為“文件夾”的菜單項或其他相應(yīng)菜單項;在所找到的菜單項對應(yīng)的位置坐標(biāo)處,模擬用戶鼠標(biāo)點擊操作,以執(zhí)行文件/文件夾的新建操作。雖然上面僅給出了“新建”操作的具體流程,但是本領(lǐng)域技術(shù)人員根據(jù)上述流程能夠直接、毫無疑義地得出其它相應(yīng)操作的具體流程。有些操作可能不僅限于上面給出的幾個步驟,如刪除操作,其會在點擊刪除菜單項后彈出一系統(tǒng)提示框。操作模塊在Windows操作系統(tǒng)下對文件/文件夾進(jìn)行“拖拽”操作的具體實施方式如下:打開拖拽操作的目的窗口,其步驟同啟動“運(yùn)行”窗口并在“運(yùn)行”窗口中打開文件瀏覽界面窗口;通過調(diào)用系統(tǒng)API接口EnumChildWindows獲取所述目的窗口句柄desthwnd,并調(diào)用系統(tǒng)API接口PostMessage向所述目的窗口柄desthwnd發(fā)送SC_MAXIMIZE消息,使目的窗口最大化;調(diào)用系統(tǒng)API接口MoveWindow向待操作文件/文件夾的文件瀏覽界面窗句柄hwnd發(fā)送rect參數(shù),使該窗口顯示為固定大小尺寸rect;調(diào)用系統(tǒng)API接口SetCursorPos使鼠標(biāo)移動到待操作文件/文件夾的操作坐標(biāo)pos處;通過調(diào)用系統(tǒng)API接口mouse_event傳遞參數(shù)MOUSEEVENTF_LEFTDOWN,模擬鼠標(biāo)拖拽文件/文件夾移動到目的窗口句柄desthwnd的空白處,調(diào)用系統(tǒng)API接口mouse_event傳遞參數(shù)MOUSEEVENTF_LEFTUP釋放鼠標(biāo),完成模擬用戶在圖形化用戶界面下的拖拽操作。對于其他操作如打開、剪切、刪除、復(fù)制、粘貼、重命名等操作,與新建操作類似,所不同的是,定位相應(yīng)操作的菜單項時,選擇“打開”、“剪切”、“刪除”、“復(fù)制”、“粘貼”、“重命名”等選項,另外,對于重命名操作,模擬用戶的鼠標(biāo)操作點擊相應(yīng)菜單項后,再模擬用戶的鍵盤操作輸入相應(yīng)的文件/文件夾的新名稱。操作模塊在Windows操作系統(tǒng)下模擬用戶操作對文件/文件夾操作時對系統(tǒng)彈出的消息框的具體操作流程如下:在一個超時時間內(nèi)(默認(rèn)5s),循環(huán)調(diào)用系統(tǒng)API接口EnumChildWindows獲得一份系統(tǒng)中當(dāng)前所有的頂級窗口句柄,記為第三窗口句柄列表hwndlist3;計算該第三窗口句柄列表hwndlist3與之前點擊相應(yīng)鼠標(biāo)彈出該系統(tǒng)提示框之前獲得的第二窗口句柄列表hwndlist2的差集,在所述差集中查找ClassName=#32770的句柄,即系統(tǒng)提示框的窗口句柄hwnd;根據(jù)系統(tǒng)提示框的窗口句柄hwnd,調(diào)用系統(tǒng)API接口FindWindow&EnumChildWindows查找系統(tǒng)提示框的窗口中WindowsName=“是”或“否”的按鈕句柄hbtn,調(diào)用系統(tǒng)API接口PostMessage向該按鈕句柄hbtn發(fā)送BN_CLICKED消息,選擇“是”或“否”按鈕。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述步驟也可以通過模擬用戶鍵盤操作來完成,如在彈出系統(tǒng)提示框后模擬鍵盤回車操作選擇“是”,或者模擬“tab”鍵選擇“否”再回車等。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上面僅示例性的介紹了本發(fā)明所提出的文件/文件夾的操作裝置的一部分具體實施方式,其中僅涵蓋了對文件/文件夾的一部分操作方式,而其他對文件/文件夾的具體操作都可以沿用上述方法,對其進(jìn)行擴(kuò)展或變形,只要是通過模擬用戶在圖形化用戶界面中的操作對文件/文件夾進(jìn)行相應(yīng)的操作均涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。從上述具體實施方式可以看出,本發(fā)明提出的上述方案中全部流程均模擬用戶在圖形化用戶界面中的操作對文件/文件夾進(jìn)行操作,而不是調(diào)用系統(tǒng)提供的文件/文件夾操作函數(shù),比如CreateFile,WriteFile,ReadFile,CopyFile,MoveFile,DeleteFile,CreateDirectory,RemoveDirectory等函數(shù)對文件/文件夾進(jìn)行操作。其能夠完美的在防護(hù)軟件監(jiān)控的系統(tǒng)環(huán)境下,實現(xiàn)對文件/文件夾的安全操作,同時避免了自己的執(zhí)行程序不會被防護(hù)軟件誤報導(dǎo)致功能失效等情況,本發(fā)明不只限于對殺毒軟件或者防護(hù)軟件的環(huán)境,同時也適用于各種操作系統(tǒng)的正常環(huán)境,能夠保證最大的兼容性。c11、其中,所述啟動模塊通過模擬用戶在圖形用戶界面中的操作來啟動文件瀏覽界面窗口,所述操作模塊也通過模擬用戶在圖形用戶界面中的操作對文件/文件夾進(jìn)行操作。c12、其中,所述模擬用戶在圖形用戶界面中的操作包括:在文件瀏覽界面窗口中根據(jù)所述操作坐標(biāo)模擬鍵盤和/或鼠標(biāo)進(jìn)行文件/文件夾操作。c13、其中,所述在文件瀏覽界面窗口中獲取文件/文件夾的操作坐標(biāo)包括獲取文件/文件夾在文件瀏覽界面窗口中的坐標(biāo),或獲取文件瀏覽界面窗口中的空白位置處坐標(biāo)。c14、其中,所述啟動模塊包括:路徑獲取模塊,用于獲取所述文件/文件夾的上級路徑;啟動窗口模塊,用于根據(jù)所述路徑通過系統(tǒng)接口啟動文件瀏覽界面窗口;c15、其中,獲取文件/文件夾在文件瀏覽界面窗口中的操作坐標(biāo)具體包括:獲取文件瀏覽界面窗口的窗口句柄;根據(jù)所述窗口句柄獲取該文件瀏覽界面窗口中所有文件/文件夾的屬性信息;根據(jù)所述文件瀏覽界面窗口中所有文件/文件夾的屬性信息和所述文件/文件夾的名稱,獲得所述文件/文件夾在所述文件瀏覽界面中的相對位置;根據(jù)所述文件/文件夾在所述文件瀏覽界面中的相對位置獲得所述文件/文件夾的操作坐標(biāo)。c16、其中,所述文件/文件夾操作包括以下操作中的一個或多個:打開、剪切、刪除、新建、復(fù)制、粘貼、重命名或拖拽操作。c17、其中,若所述文件/文件夾操作為文件/文件夾打開、剪切、刪除、新建、復(fù)制、粘貼或重命名操作,則所述操作模塊對文件/文件夾操作具體包括:獲取系統(tǒng)的所有頂級窗口句柄列表;在所述操作坐標(biāo)上模擬右鍵操作;在預(yù)定時間內(nèi)再次獲取系統(tǒng)的所有頂級窗口列表;根據(jù)兩次獲取的所有頂級窗口列表的差集獲取彈出菜單的窗口句柄;根據(jù)所述彈出菜單的窗口句柄獲得所述彈出菜單的菜單句柄;根據(jù)所述彈出菜單的菜單句柄獲取所述彈出菜單上相應(yīng)操作的菜單項,進(jìn)行相應(yīng)操作。c18、若所述操作為拖拽操作,則所述操作模塊對文件/文件夾操作具體包括:啟動目的窗口;獲取目的窗口句柄,并使目的窗口最大化;根據(jù)所述文件/文件夾的操作坐標(biāo),模擬鼠標(biāo)操作,將文件/文件夾移動到目的窗口的空白處,并釋放鼠標(biāo)。由于所述裝置實施例基本相應(yīng)于前述圖1所示的方法實施例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關(guān)說明,在此就不贅述了。本發(fā)明提出的上述方案可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如:個人計算機(jī)、服務(wù)器計算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機(jī)、大型計算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。本發(fā)明可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。