为什么我注册了程序的扩展名,图标也表了,双击的时候为什么提示找不到文件?

iorikingdom 2006-07-17 01:39:24
注册表值
REGEDIT
; 此 .REG 文件可能由 SETUP 程序使用。
; 如果 SETUP 程序不可用,则调用
; CWinApp::RegisterShellFileTypes 和 COleObjectFactory::UpdateRegistryAll
; 在 InitInstance 中对下列项自动进行注册。

HKEY_CLASSES_ROOT\.est = EmailSearch
HKEY_CLASSES_ROOT\EmailSearch\DefaultIcon = e:\NewEndic\Debug\Icon\doc.ico
HKEY_CLASSES_ROOT\EmailSearch\shell\open\command = e:\NewEndic\Debug\EmailSearch.exe %1
HKEY_CLASSES_ROOT\EmailSearch\shell\open\ddeexec = [open("%1")]
;HKEY_CLASSES_ROOT\EmailSearch\shell\open\ddeexec\application = EmailSearch
; 注意: 此应用程序是可选的
;(默认为“命令”中的应用程序名)
;HKEY_CLASSES_ROOT\My.Document = EmailSearch.Document


但是双击一个est文件的时候提示
Windows 找不到文件 'E:\NewEndic\Debug\新建 文本文档.est'。请确定文件名是否正确后,再试一次。要搜索文件,请单击「开始」按钮,然后单击“搜索”。

程序一开始没有这样的需求,所以只是框架和视类,没有文档类,后面的东西是后来再加上去的,怎么样让它能够关联扩展名?上面的注册表已经能够让est后缀的文件,改变图标了,只是直接双击那个文件的时候会出现上面说的错误,另外每一次双击都会调用一个应用程序实例,能否每次双击都在同一个应用程序实例里面处理?
...全文
231 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiaosan 2006-07-17
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_extending/fileassociations/fa_intro.asp
pomelowu 2006-07-17
  • 打赏
  • 举报
回复
嗯,的确是跟Doc/View结构有关的。试试这个:
http://www.codeproject.com/shell/cgfiletype.asp
lixiaosan 2006-07-17
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/122787/en-us
iorikingdom 2006-07-17
  • 打赏
  • 举报
回复
0067EF41 je CWinApp::RegisterShellFileTypes+24h (67EF44h)
0067EF43 int 3
中断在这里了
iorikingdom 2006-07-17
  • 打赏
  • 举报
回复
我开始也加了,
但是 RegisterShellFileTypes
这句跑不过去,估计是跟文档类模板相关的,我这里没有文档类
pomelowu 2006-07-17
  • 打赏
  • 举报
回复
在CMyApp::InitInstance()中加入或修改以下代码
EnableShellOpen();
RegisterShellFileTypes(TRUE);
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo))
return FALSE;
lzd 2006-07-17
  • 打赏
  • 举报
回复


请在CMyApp::InitInstance()中加入或修改以下代码
EnableShellOpen(); 请在CMyApp::InitInstance()中加入或修改以下代码
EnableShellOpen();
RegisterShellFileTypes(TRUE);
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (!ProcessShellCommand(cmdInfo))
return FALSE;


16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧