如果想写一个程序A,允许另一个程序B在A中加入B自己的菜单或快捷按钮,A程序该如何写,B程序如何将自己的按钮加进去?

解决方案 »

  1.   

    没问题,例如
    用程序a
    给windows下的记事本的系统菜单中加入自己的菜单
    .......
    var
     menu:hmenu;
     window:hwnd;
    .....
    begin
      window:=findwindow(nil,'aaaaa')//aaaaa为文件的名字
      menu:=getsystemmenu(window.....);
      appendmenu(menu,mf_string,'bbbbbbbb')
    end;
    end;
      

  2.   

    难道没人知道怎么做么?
    CSDN中不会都和我一样的水平吧
      

  3.   

    just like  wxjh(苦儿) :
    动态生成菜单。
    appendmenu(menu,mf_string,'bbbbbbbb')
      

  4.   

    苦儿的方法只能在程序已启动后才能将按钮加入,而且关闭后再启动按扭就会消失。
    zhujunfeng提供的思路也许可以解决这个问题,但能否举个例子,即程序的快捷按钮是从注册表中取得的,但如何写这个按钮的事件。
      

  5.   

    加入按钮并不复杂,象IE是是只要在注册表的特定位置写入一些信息,例如按钮图片、文本、点击按钮执行的脚本,然后在IE启动时会遍历注册表的这个位置,根据这些注册信息生成按钮或者菜单。
    关键的是如何能够在点击按钮让宿主程序执行你需要的操作,可以使用COM的方式来实现。
      

  6.   

    同意 TechnoFantasy !
      

  7.   

    to TechnoFantasy:
    可以给一个例子么?