ここは、普段自分専用に使ってるC++のクラス・ライブラリです。
メンバ関数(メンバ変数も含む)は public 属性と protected 属性のみを公開し private 属性は記述してません。
また、この普段自分専用に使ってるC++のクラス・ライブラリは、現在ソースを公開してません。(戻る)
ドライブ検索のクラス - oemDriveFind.h
// 検索用のコールバック関数型 typedef BOOL (CALLBACK*LPOEMDRIVE_FIND)( LPWIN32_FIND_DATA fdFile, // ファイル情報 LPTSTR lpPath, // フルパス名 LPTSTR lpFile, // ファイル位置 UINT eReason, // 呼び出された理由 LPVOID lpData // 渡されるデータ値 ); // 列挙定数(呼び出し理由) enum eOEMDRVFND { OEMDRVFND_BEGIN, // 検索開始 OEMDRVFND_LOOP, // 検索処理 OEMDRVFND_END, // 検索終了 OEMDRVFND_FILE, // ファイル処理 OEMDRVFND_DIRTOP, // フォルダ処理前 OEMDRVFND_DIREND, // フォルダ処理後 MAX_OEMDRVFND, }; class oemDriveFind { public: // コンストラクタ oemDriveFind( LONG nDeepMax=-1 ); // 操作関数 LONG getDeepMax(); LONG setDeepMax( LONG nDeepMax ); // 検索関数 BOOL run( LPCTSTR lpPath, LPCTSTR lpWild=NULL, LPBOOL lpCancel=NULL, LPOEMDRIVE_FIND fnFunc=NULL, LPVOID lpData=NULL ); };
ドライブ転送のクラス - oemDriveSend.h
// 転送用のコールバック関数型 typedef BOOL (CALLBACK*LPOEMDRIVE_SEND)( LPWIN32_FIND_DATA fdFile, // ファイル情報 LPTSTR lpFindPath, // 転送元ファイル LPTSTR lpSendPath, // 転送先ファイル UINT eReason, // 呼び出された理由 LPVOID lpData // 渡されるデータ値 ); // 列挙定数(呼び出し理由) enum eOEMDRVSND { OEMDRVSND_BEGIN, // 転送開始 OEMDRVSND_LOOP, // 転送処理 OEMDRVSND_END, // 転送終了 OEMDRVSND_FILE, // ファイル処理 OEMDRVSND_DIRTOP, // フォルダ処理前 OEMDRVSND_DIREND, // フォルダ処理後 MAX_OEMDRVSND, }; class oemDriveSend { public: // コンストラクタ oemDriveSend( LONG nDeepMax=-1 ); // 操作関数 LONG getDeepMax(); LONG setDeepMax( LONG nDeepMax ); // 転送関数 BOOL run( LPCTSTR lpFindPath, LPCTSTR lpSendPath, LPCTSTR lpWild=NULL, LPBOOL lpCancel=NULL, LPOEMDRIVE_SEND fnFunc=NULL, LPVOID lpData=NULL ); };
ドライブ管理のクラス - oemDriveMgr.h
// 管理用のコールバック関数型 typedef BOOL (CALLBACK*LPOEMDRIVE_MGR)( LPWIN32_FIND_DATA fdFile, // ファイル情報 LPTSTR lpFindPath, // 転送元ファイル(フルパス名) LPTSTR lpSendPath, // 転送先ファイル(ファイル位置) UINT eReason, // 呼び出された理由 LPVOID lpData // 渡されるデータ値 ); // 列挙定数(呼び出し理由) enum eOEMDRVMGR { OEMDRVMGR_INIT, // ドライブ管理の初期化 OEMDRVMGR_TERM, // ドライブ管理の後始末 OEMDRVMGR_FINDINIT, // ドライブ検索の初期化 OEMDRVMGR_FINDTERM, // ドライブ検索の後始末 OEMDRVMGR_FINDDIRTOP, // ドライブ検索のフォルダ処理前 OEMDRVMGR_FINDDIREND, // ドライブ検索のフォルダ処理後 OEMDRVMGR_FINDFILE, // ドライブ検索のファイル処理 OEMDRVMGR_FINDLOOP, // ドライブ検索のループ処理中 OEMDRVMGR_SENDINIT, // ドライブ転送の初期化 OEMDRVMGR_SENDTERM, // ドライブ転送の後始末 OEMDRVMGR_SENDDIRTOP, // ドライブ転送のフォルダ処理前 OEMDRVMGR_SENDDIREND, // ドライブ転送のフォルダ処理後 OEMDRVMGR_SENDFILE, // ドライブ転送のファイル処理 OEMDRVMGR_SENDLOOP, // ドライブ転送のループ処理中 MAX_OEMDRVMGR, }; // 列挙定数(動作モード) enum eOEMDRVACT { OEMDRVACT_STOP, // 停止中 OEMDRVACT_START, // 実行中 OEMDRVACT_PAUSE, // 一時停止中 OEMDRVACT_CANCEL, // キャンセル MAX_OEMDRVACT, }; class oemDriveMgr { protected: HWND m_hDlg; // ダイアログのハンドル BOOL m_bCancel; // 管理処理のキャンセル値 UINT m_nDeepMax; // 検索階層のフォルダ最大数 // 処理状況 UINT m_nDir; // 処理状況のフォルダ処理数 UINT m_nDirMax; // 処理状況のフォルダ最大数 UINT m_nFile; // 処理状況のファイル処理数 UINT m_nFileMax; // 処理状況のファイル最大数 // 単体処理 ULONGLONG m_u64FileByte; // 単体処理のファイル転送量 ULONGLONG m_u64FileSize; // 単体処理のファイル全体量 ULONGLONG m_u64FileTime; // 単体処理の転送開始時間(時分秒) SYSTEMTIME m_stFileTime; // 全体処理の転送開始時刻(ms) // 全体処理 ULONGLONG m_u64TotalByte; // 全体処理のファイル転送量 ULONGLONG m_u64TotalSize; // 全体処理のファイル全体量 ULONGLONG m_u64TotalTime; // 全体処理の転送開始時間(時分秒) SYSTEMTIME m_stTotalTime; // 全体処理の転送開始時刻(ms) public: // コンストラクタ oemDriveMgr( HWND hWnd=NULL, LONG nDeepMax=-1 ); // 操作関数 HWND getWnd(); HWND setWnd( HWND hWnd ); // 階層関数 LONG getDeepMax(); LONG setDeepMax( LONG nDeepMax ); protected: // 実行関数 BOOL run( LPCTSTR lpFindPath, LPCTSTR lpSendPath, LPCTSTR lpWild=NULL, LPUINT lpAction=NULL, LPOEMDRIVE_MGR fnFunc=NULL, LPVOID lpData=NULL ); // 下請け関数 VOID setMarquee( HWND hCtrl, BOOL bEnable, UINT ms ); VOID setProgress( HWND hCtrl, UINT nMin, UINT nMax, UINT nStep, UINT nPos ); VOID pompMessage(); VOID pauseMessage(); };
※コメント投稿者のブログIDはブログ作成者のみに通知されます