タブファイラー開発ブログ

Tablacus ExplorerやX-Finderの作者のブログ

カスペルスキーの問題

カスペルスキーアンチウイルスを使っていると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();
これで引っかかってしまうのであれば、カスペルスキー側の問題!? こちら側の調整でなんとかなるものなのだろうか...