タスクマネージャー(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]