1、启动实例的解决方法:
  1)查找主窗口,发送特定的消息,新实例退出;
  2)DDE 消息;
  3)OLE Automation
  这些方法本人都没做过。
2、页面的宽度:不明白你要做什么,因为整个页面的大小是可变的,基本上就是你的 ChtmlView 的大小;
3、支持邮件发送:不知道;
4、如何将浏览的 HTML 页面存为临时文件:请看我的 HTMLDoc 例子。

解决方案 »

  1.   

    edYang,能不能说的详细些,
    我快崩溃了,各位高手快来帮帮我。
      

  2.   

    第一个问题去查主题:如何只运行一个实例。
    我知道的常用方法有三种:
    1.注册类名
    2.利用互斥体mutex
    3.利用全局文件filemapping
    剩下的问题没做过,俺不懂
      

  3.   

    各位高手,你们好我用AppWizard生成的多文档工程,只要文档类型是新的类型,则双击文档只启动一个实例,在该实例的子窗口显示对应文档。
    我现在恰好用的是系统已注册的html文档类型。
    请各位高手分析一下为什么
      

  4.   

    支持文件发送:ShellExecute(hWnd,"open","mailto: [email protected]",NULL,NULL,SW_SHOWNORMAL);
      

  5.   

    sxbyl,我想可能你理解错了。
    我直接使用 ON_COMMAND(ID_FILE_SEND_MAIL, OnFileSendMail) 和 ON_UPDATE_COMMAND_UI(ID_FILE_SEND_MAIL, OnUpdateFileSendMail)可以发送邮件,但发送的HTML文档为0字节,我想原因是我没有实现CDocument下的Serialize函数,(因为邮件发送时将文档暂存为临时文件,OnFileSendMail函数调用DoSave函数,DoSave调用OnSaveDocument,OnSaveDocument调用Serialize函数,所以实现Serialize函数就可达到要求)我不知该如何在Serialize函数中实现对html文档的存储,请各位帮帮我。
      

  6.   

    很简单的,自己看看注册表就知道了
    HKEY_CLASSES_ROOT\htmlfile\shell\open\command
    HKEY_CLASSES_ROOT\htmlfile\shell\open\ddeexec !
      

  7.   

    bugn,你说的我都看过了,我装了NetCaptor浏览器,设置为默认浏览器后,双击html页面会打开NetCaptor子窗口显示页面内容,但你说的注册表项没有什么改变。
    这种解决方法不正确。这是我在CSDN上问的第四个问题,四个问题中只有一个是edYang帮我解决的,我对CSDN快失望了,回复速度太慢,问题解决不了,唉......
      

  8.   

    老弟,当然你要先看.htm(.html)指向的东西了;如果装了IE指的就是htmlfile,ie用dde消息在同一进程打开另一个文档。我说看注册表的意思是让你看一般的做法是用dde的.如果你用的是MFC, 就很简单
    在你的InitInstance中做如下改动即可使用DDE:// enable DDE Execute open
    EnableShellOpen();
    RegisterShellFileTypes(TRUE);// Parse command line for standard shell commands, DDE, file open
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);// Dispatch commands specified on the command line
    if (!ProcessShellCommand(cmdInfo))
     return FALSE;
      

  9.   

    bugn(bugn) 
    你的方法我试了,但不能解决每双击一次html文档就打开一个实例的问题,不能在一个实例中的子窗口显示对应文档。
      

  10.   

    RegisterShellFileTypes(TRUE);
    这一行是关键:
    pDocTemplate = new CMultiDocTemplate(
    IDR_FOOTYPE,
    RUNTIME_CLASS(CFooDoc),
    RUNTIME_CLASS(CFooChildFrame),
    RUNTIME_CLASS(CFooView));IDR_FOOTYPE写上你要注册的扩展名,例如:IDR_FOOTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc Worksheet"
    要不然就自己写注册表,如果只写了.htm,就把.htm的抄到.html来