13b7203622 2011-02-23 kinaba: //--- K.I.LIB --- 13b7203622 2011-02-23 kinaba: // kl_wcmn.h : windows-common-interface operatin 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #ifndef AFX_KIWINCOMMON_H__0686721C_CAFB_4C2C_9FE5_0F482EA6A60B__INCLUDED_ 13b7203622 2011-02-23 kinaba: #define AFX_KIWINCOMMON_H__0686721C_CAFB_4C2C_9FE5_0F482EA6A60B__INCLUDED_ 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ 13b7203622 2011-02-23 kinaba: // シェルユーティリティークラス 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: class kiSUtil 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: 13b7203622 2011-02-23 kinaba: // カレントディレクトリ退避 13b7203622 2011-02-23 kinaba: static void switchCurDirToExeDir(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 「フォルダの選択」ダイアログ 13b7203622 2011-02-23 kinaba: static bool getFolderDlg( char* buf, HWND par, const char* title, const char* def ); 13b7203622 2011-02-23 kinaba: static void getFolderDlgOfEditBox( HWND wnd, HWND par, const char* title ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 対応する拡張子用アイコンの、システムイメージリストのインデックスを返す。 13b7203622 2011-02-23 kinaba: static int getSysIcon( const char* ext ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 最後のエラーを表示 13b7203622 2011-02-23 kinaba: static void msgLastError( const char* msg = NULL ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // 自分へのショートカット作成 13b7203622 2011-02-23 kinaba: static void createShortCut( const kiPath& at, const char* name ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // ファイルが存在する? 13b7203622 2011-02-23 kinaba: static bool exist( const char* fname ); 13b7203622 2011-02-23 kinaba: static bool isdir( const char* fname ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // カレントディレクトリを安全なところに移してLoadLibrary 13b7203622 2011-02-23 kinaba: static HMODULE loadLibrary(LPCTSTR lpFileName) 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: char original_cur[MAX_PATH], sys[MAX_PATH]; 13b7203622 2011-02-23 kinaba: ::GetCurrentDirectory(MAX_PATH, original_cur); 13b7203622 2011-02-23 kinaba: ::GetSystemDirectory(sys, MAX_PATH); 13b7203622 2011-02-23 kinaba: ::SetCurrentDirectory(sys); 13b7203622 2011-02-23 kinaba: HMODULE han = ::LoadLibrary(lpFileName); 13b7203622 2011-02-23 kinaba: ::SetCurrentDirectory(original_cur); 13b7203622 2011-02-23 kinaba: return han; 13b7203622 2011-02-23 kinaba: } 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #endif