在WIN95中實現檔案拷貝的程式設計方法

2021-07-14 01:17:37 字數 2043 閱讀 9239

lpcstr lpszprogresstitle; //進度視窗標題

} shfileopstruct, far* lpshfileopstruct;

在這個結構中,有幾個成員很重要。hwnd是指向傳送訊息的視窗,pfrom與

pto是進行檔案操作的源檔名和目標檔名,它包含檔案的路徑,對於多個文

件名之間用null作為間隔,並且可以支援萬用字元*和?。如原始檔或目錄有兩個,

則應是:

char pfrom="c:\\windows\\command

\0c:\\dos\\himem.sys\0"

它表示對c:\windows\command目錄下的所有檔案和c:\dos\himem.sys檔案進行

操作。'\\'是c語言中的'\'的轉義符,'\0'則是null。wfunc 是結構中的重要

成員,它指出將要進行的操作型別,是下面的操作型別之一:

fo_copy: 拷貝檔案pfrom到pto 的指定位置。

fo_rename: 將pfrom的檔名更名為pto的檔名。

fo_move: 將pfrom的檔案移動到pto的地方。

fo_delete: 刪除pfrom指定的檔案。

在進行檔案拷貝、移動或刪除時,如果需要的時間很長,則會在進行的過程中出

現乙個無模式的對話方塊,可以顯示執行的進度和執行的時間,以及正拷貝移動或

刪除的檔名,成員lpszprogresstitle顯示此對話方塊的標題。fflags是在進行

檔案操作時的過程和狀態控制標識。它主要有如下一些標識,也可以是其組合。

fof_filesonly:不執行萬用字元,只執行檔案.

fof_allowundo:儲存 undo資訊,以便恢復.

fof_noconfirmation: 在出現目標檔案已存在的時候,如果不設定此項,則它

會出現確認是否覆蓋的對話方塊,設定此項則自動確認,進行覆蓋,不出現對話方塊。

fof_noerrorui: 設定此項後,當檔案處理過程中出現錯誤時,不出現錯誤提

示,否則會進行錯誤提示。

fof_renameoncollision: 當已存在檔名時,對其進行更換檔名提示。

fof_silent: 不顯示進度對話方塊。

fof_wantmappinghandle: 要求shfileoperation()函式返回正處於操作狀態的

實際檔案列表,檔案列表名柄儲存在hnamemappings成員中。shfileopstruct將

包含乙個shnamemapping結構的陣列,此陣列儲存由shell計算的每個處於操作狀

態的檔案的新舊路徑。

二、 例項操作

本文就乙個visual c++程式來實現檔案複製的例項。首先建立乙個單文件界

面filecopy,然後在主框架中新增乙個工具條變數m_wndmy*******,新建乙個

工具條idr_my*******,設定乙個工具訊息id_filecopy,並在主框架

mainfrm.cpp的oncreate()成員函式中加入工具欄。

if(!m_wndmy*******.create(this)||

!m_wndmy*******.load*******(idr_my*******))

通過中視類操作工具條idr_mytool,利用classwizard為其訊息id_filecopy新增

訊息處理函式onfilecopy。然後在處理函式中加入下面程式。

void onfilecopy()

三、 結束語

利用windows api進行程式檔案操作設計,它直接呼叫windows作業系統中的外

殼,它的處理過程與windows95/98/nt中的處理過程是一致的有利於我們在系統

程式設計中保持與作業系統的一致性;同時,由於在檔案處理中它是直接呼叫

windows api函式,因此不需要其它應用程式動態鏈結庫dll的支援。

在各種開發軟體中,都提供了對於檔案的各種操作方式,但是它必須利用到文

件系統較為深入的知識,而且對於其操作的直觀性方面也需要開發者進一步地設

計,因此利用作業系統shell進行程式設計,不失是一種好的設計方法。

在平凡中實現自我價值

在即將迎來建黨89周年這一偉大節日之際,作為一名中國人,看到祖國自立自強屹立於世界之林,我感到無比高興與興奮。同時身為一名中國共產黨員,想到我黨從星星之火不斷發展壯大,帶領全國人民擺脫壓迫擺脫貧困,走上富強民主的道路,為此感到無比的自豪。我黨之所以能夠帶領中國快速走上騰飛的道路,與我黨求真務實 科學...

在國培中實現夢想

尊敬的各位領導,各位老師 大家下午好!今天很榮幸有這樣乙個機會和大家一起分享我參加本次國培研修後的感想。兩個月的國培學習匆匆結束,這近六十個日日夜夜,我們的學習生活是辛苦的,我們的日子是充實的。我非常珍惜參加這次國培研修的機會,在國培研修開班典禮上我代表全體研修老師在大會上表了決心,同時這兩個月來我...

在閱讀體驗中實現情感感悟

作者 左小會 教師博覽 科研版 2013年第07期 摘要 閱讀是學生的個性化行為,應引導學生鑽研文字,在主動積極的思維和情感活動中,加深理解和體驗,有所感悟和思考,受到情感薰陶,獲得思想啟迪,享受審美樂趣。要珍視學生獨特的感受 體驗和理解。不應完全以教師的分析來代替學生的閱讀實踐,也要防止用集體討論...