菜单子类化

关于菜单子类化的一个例子
http://www.codeproject.com/dll/subhook.asp

很好玩的一个小例子,可以修改记事本的主菜单。

http://www.codeproject.com/dialog/AOTop.asp

可以修改系统菜单

关键词:

popup menu
setwindowlong

WM_INITMENUPOPUP

WM_CONTEXTMENU:

Superclassing

SetWindowsHookEx(WH_CALLWNDPROC

Cross Process Subclassing
GetMenu
WM_CONTEXTMENU
HMENU hMenu = CreateMenu();
HMENU hMenuPopup = CreatePopupMenu();
AppendMenu(hMenuPopup, MF_STRING|MF_OWNERDRAW, ID_FILE_NEW, (LPCTSTR)"&Pub");

 hAppMenu=GetMenu(hHookedWindow);
hAppendMenu=CreateMenu(); //Create the menu
AppendMenu(hAppMenu,MF_STRING + MF_POPUP,
(unsigned int)hAppendMenu,"HTML"); //add new menu

感慨:

以前,解决一个比较棘手的技术问题,比如屏幕取词,在98年,需要耗我半年的时间去在黑暗中摸索。

现在,借助Goolge,只需要知道一些大概的关键词,一般半天,最多一个星期,就可以把解决方法推演出来。 不过,怎么修改notepad的右键快捷菜单,(content menu),好象如果不借助屏幕取词的功夫,是很困难的事情。谁如果知道,告诉我呀。

 

发表评论


0.011 sec