カスペルスキーの問題
カスペルスキーアンチウイルスを使っているとX-Finderのコンテキストメニューやダブルクリックが遅くなると連絡を貰っていたので、確認のためにWindows XP SP3にKaspersky 2014体験版をインストールしてみました。
報告された方の環境はWindows 8(64ビット)だったので、Windows 8.1 Preview版(64ビット)でテストしようと思ったのですがインストールできなかったので、Windows XP SP3でテストすることに…
テストしてみたら、X-FinderどころかTCM32.exeでもメニューを開くまでに5秒以上掛かってしまいます。
拡張子が「.exe」等のファイルは大丈夫ですが、「.txt」等では遅くなるようです。
カスペルスキーのシステムウォッチャーを無効にすると遅延は解消されます。
調査のためにVisual C++でWin32の新規プロジェクトを作って以下のコンテキストメニューを作る部分を入れてみました。
QueryContextMenuの行で5秒以上掛かってしまいました。
::CoInitialize(NULL); LPITEMIDLIST pidlFull = ::ILCreateFromPath(L"C:\\readme.txt"); 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(); pCM->QueryContextMenu(hMenu, 0, 1, 0x7fff, CMF_DEFAULTONLY); DestroyMenu(hMenu); pCM->Release(); pSF->Release(); ::CoTaskMemFree(pidlFull); ::OleUninitialize();これで引っかかってしまうのであれば、カスペルスキー側の問題!? こちら側の調整でなんとかなるものなのだろうか...