HWND wnd=::FindWindowEx(0,0,NULL,"SYSTEM (C:)");
HMENU menu=::GetMenu(wnd);//你能取得有效的句柄
c=GetMenuItemCount(menu);//获取当前菜单所有的菜单项数目,但结果总是c=0
使用其他的菜单函数也都无效,请教如何解决这个问题?
HMENU menu=::GetMenu(wnd);//你能取得有效的句柄
c=GetMenuItemCount(menu);//获取当前菜单所有的菜单项数目,但结果总是c=0
使用其他的菜单函数也都无效,请教如何解决这个问题?
if (hwndApp == NULL)
{
MessageBox("Not Find!");
return;
}
lRel = GetMenuInfo(hwndApp);int CGUIDlg::GetMenuInfo(HWND h)
{
HMENU hMenu;
HMENU hMenuFile;
int lMenuCnt = 0; // 根据句柄取得应用程序菜单
hMenu = ::GetMenu(h);
if (hMenu == NULL)
{
MessageBox("Not Find Menu!");
return -1;
} // 取得第一个子菜单
hMenuFile = ::GetSubMenu(hMenu, 0); // 取得子菜单的项数
lMenuCnt = ::GetMenuItemCount(hMenuFile); for(int lCnt = 0; lCnt < lMenuCnt; lCnt++)
{
char szTemp[255];
memset(szTemp, '\0', sizeof(szTemp)); // 取得菜单ID
long hMenuID = ::GetMenuItemID(hMenuFile, lCnt); ::SendMessage(h, WM_COMMAND, (WPARAM)hMenuID, NULL); // 取得菜单的caption
::GetMenuString(hMenuFile, hMenuID, szTemp, 255, MF_BYCOMMAND);
} return 0;
}
你调试过你的程序吗?比如现在要操作windows explorer的菜单,窗口caption是 "SYSTEM (C:)",你会发现hMenuFile = ::GetSubMenu(hMenu, 0);lMenuCnt = ::GetMenuItemCount(hMenuFile);都回得到0TO kvw3000(回家念经) 远程dll注入是怎么回事?有文档马?