我遇到的這個問題很容易重現。創建文件擴展名的基本MFC MDI應用程序使用Visual Studio 2010中的應用程序的默認代碼容易寄存器通過調用文件關聯名爲.xyz:在MFC中註冊文件關聯不適用於Windows 7
// Enable DDE Execute open
EnableShellOpen();
RegisterShellFileTypes(TRUE);
的問題是,內部RegisterShellFileTypes(TRUE),呼叫失敗下方:
if (!_AfxSetRegKey(strFileTypeId, strFileTypeName))
continue; // just skip it
該文件顯然沒有被註冊,它不採用應用程序分配的文件圖標。我想要的只是當雙擊註冊文件類型(在本例中爲.xyz)時,它應該在應用程序中打開,但它不會。什麼可能缺少..如何使這項工作?
你有UAC嗎? –
不知道!我的應用程序假設可以在任何Windows 7機器上運行,所以我寧願使用通用解決方案。 – zar
註冊應用程序擴展需要管理員權限。如果您以管理員身份運行您的應用程序,它會工 –