タスクマネージャー(NT 系 OS)で、「デバッグ」を選ぶとワトソン博士が 関連付けられてたり、VisualStudio が開いたりする。 これは、レジストリに設定がある。 [HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\AeDebug] REG_SZ: Debugger="...\Bin\msdev.exe"" -p %ld -e %ld" REG_SZ: Auto="0" … Auto=1プロセスが落ちたときデバッガが起動。 REG_DWORD: UserDebuggerHotKey=0 … ホットキーの指定。デフォルトは[F12] 0→[F12] 13→[Enter]キー 19→[Pause]キー 145→[ScrollLock]キー
ファイルのタイトル(ファイル名のうち、拡張子を除くファイル名)を取得する場合は、 _splitpath() を使った方が無難らしい。 CFile::GetFileTitle() だと、エクスプローラの設定によって、 拡張子付きで取得できてしまう場合がある為。 ちなみに、CFindFile::GetFileTitle() は、ちゃんと拡張子を取り除いたファイル名 が取ってこれるみたい。
#code c++
#define DEF_FILENAME _T("D:\\home\\edu\\CFile\\CFileTest\\test2\\test.exe")
void test1() {
_tprintf( _T("CFile::GetFileTitle() のテスト\n") ); CFile file( DEF_FILENAME, CFile::modeRead ); _tprintf( _T("file.GetFileTitle() = [%s]\n"), file.GetFileTitle() );
}
void test2() {
_tprintf( _T("_splitpath() のテスト\n") ); TCHAR drive[_MAX_DRIVE]; TCHAR dir[_MAX_DIR]; TCHAR fname[_MAX_FNAME]; TCHAR ext[_MAX_EXT];
_tsplitpath( DEF_FILENAME, drive, dir, fname, ext ); _tprintf( _T("fname = [%s]\n"), fname );
}
int main( int argc, char* argv[] ) {
test1(); test2(); return 0;
}
#end
■ CFile::GetFileTitle() のテスト file.GetFileTitle() = [test.exe] ■ _splitpath() のテスト fname = [test]