.rc文件中保存了这个程序的快捷键比如://///////////////////////////////////////////////////////////////////////////
//
// Accelerator
//IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE 
BEGIN
    "C",            ID_EDIT_COPY,           VIRTKEY, CONTROL, NOINVERT
    "H",            ID_SECOND_VIEW,         VIRTKEY, CONTROL, NOINVERT
    "J",            ID_FIRST_VIEW,          VIRTKEY, CONTROL, NOINVERT
    "N",            ID_FILE_NEW,            VIRTKEY, CONTROL, NOINVERT
    "O",            ID_FILE_OPEN,           VIRTKEY, CONTROL, NOINVERT
    "P",            ID_FILE_PRINT,          VIRTKEY, CONTROL, NOINVERT
    "S",            ID_FILE_SAVE,           VIRTKEY, CONTROL, NOINVERT
    "V",            ID_EDIT_PASTE,          VIRTKEY, CONTROL, NOINVERT
    VK_BACK,        ID_EDIT_UNDO,           VIRTKEY, ALT, NOINVERT
    VK_DELETE,      ID_EDIT_CUT,            VIRTKEY, SHIFT, NOINVERT
    VK_F6,          ID_NEXT_PANE,           VIRTKEY, NOINVERT
    VK_F6,          ID_PREV_PANE,           VIRTKEY, SHIFT, NOINVERT
    VK_INSERT,      ID_EDIT_COPY,           VIRTKEY, CONTROL, NOINVERT
    VK_INSERT,      ID_EDIT_PASTE,          VIRTKEY, SHIFT, NOINVERT
    "X",            ID_EDIT_CUT,            VIRTKEY, CONTROL, NOINVERT
    "Z",            ID_EDIT_UNDO,           VIRTKEY, CONTROL, NOINVERT
END
怎样将热键信息存到注册表中, 次运行程序就去读注册表的热键信息,用户修改快捷键后,就保存到注册表中

解决方案 »

  1.   

    MSDN上搜索Reg开头的函数RegOpenKey/RegCloseKey等待,或者使用MFC封装好的类CRegKey 
      

  2.   

    你好啊,注册表我知道怎么修改,我的问题的最重要的部分就是;
    .rc文件中保存了快捷键的信息  我难道是将整个.rc文件读取后,比如:找到 "C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT" 这一句,然后分析出Ctrl+c 来,再存到注册表中嘛,
      

  3.   

    .rc文件中保存了快捷键的信息 我难道是将整个.rc文件读取后,比如:找到 "C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT" 这一句,然后分析出Ctrl+c 来,再存到注册表中嘛,我如何修改呢
      

  4.   

    .rc文件中保存了快捷键的信息 我难道是将整个.rc文件读取后,比如:找到 "C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT" 这一句,然后分析出Ctrl+c 来,再存到注册表中嘛,我如何修改呢
      

  5.   

    每个快捷键最有一个按键值和ID值,把这两个值保存就行了,读出来时,用CREATEACCELERATOR 函数还原,然后设置给相应的窗口就行了。比如 Ctrl+c 键值是:589891,ID是:ID_EDIT_COPY
    Ctrl+Shift+C 键值是:852035 ID是:...总之每个组合键都有一个固定的键值
      

  6.   

    是这个CreateAcceleratorTable,之前写错了