続・カスペルスキーの問題
※このプログラムでは赤の部分に掛かる時間を調べて表示します。::CoInitialize(NULL); WCHAR szFile[MAX_PATH]; WCHAR szTime[MAX_PATH]; LPWSTR pszExt; GetModuleFileName(NULL, (LPWSTR)szFile, MAX_PATH); pszExt = PathFindExtension(szFile); lstrcpy(pszExt, L".txt"); HANDLE hFile = CreateFile(szFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); CloseHandle(hFile); LPITEMIDLIST pidlFull = ::ILCreateFromPath(szFile); IShellFolder *pSF = NULL; LPCITEMIDLIST pidlChild = NULL; SHBindToParent(pidlFull, IID_PPV_ARGS(&pSF), &pidlChild); IContextMenu *pCM = NULL; pSF->GetUIObjectOf(NULL, 1, &pidlChild, IID_IContextMenu, NULL, (LPVOID*)&pCM); HMENU hMenu = CreatePopupMenu(); DWORD dwStart = GetTickCount(); pCM->QueryContextMenu(hMenu, 0, 1, 0x7fff, CMF_DEFAULTONLY); DWORD dwEnd = GetTickCount(); DestroyMenu(hMenu); pCM->Release(); pSF->Release(); ::CoTaskMemFree(pidlFull); ::OleUninitialize(); swprintf_s(szTime, MAX_PATH, L"%d ms", dwEnd - dwStart); MessageBox(NULL, szFile, szTime, MB_ICONINFORMATION | MB_OK);