VC++/MFC 如何获取窗口中弹出式菜单的句柄?

最好是有个实例,或者是详细点的。主要是我想获取右键弹出的菜单的句柄!没有所谓的哪些 主菜单比如:新建 之类的!遍历下得到所有菜单的句柄!然后写入到外部的INI文件 再给每个句柄定义一个名字!读出来!这样去实现将菜单多语言化!该怎么具体操作呢?谢谢了!很急啊!
如果可以qq也行!1204936306!谢谢 !如果是采用的配置文件,是不是已运行程序就会生成!那样给了客户客户自己就可以修改界面的各个名称!不想让客户修改!该怎么搞定呢! 有没视频教程专门讲解这一块 关于多语言化设计的呢?

第1个回答  推荐于2016-05-12
实现多语言,有个简单的办法。

就是把这种已有的资源都写到配置文件里去,根据多语言都分别新增多个对应的配置文件,然后根据选择的语言调用不同地的配置文件更新,即可实现多语言界面。

如果都是UI资源,就在RC文件中就有。本回答被提问者采纳
第2个回答  2010-08-04
HMENU hMenu= 建立弹出菜单时会返回一个句柄

// 遍历菜单:
EnumMenuItem(hMenu);

void EnumMenuItem(HMENU hMenu)
{
int count = GetMenuItemCount(hMenu);
for(int i = 0; i < count; ++i)
{
MENUITEMINFO mii;
MemoryZero(&mii, sizeof(mii));
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_BITMAP|MIIM_CHECKMARKS|MIIM_DATA|MIIM_FTYPE|MIIM_ID|MIIM_STATE|MIIM_STRING|MIIM_SUBMENU|MIIM_TYPE; // 想读什么,就设什么标志
GetMenuItemInfo(hMenu, i, TRUE, &mii);
if(mii.hSubMenu != NULL) // 子菜单
EnumMenuItem(mii.hSubMenu);
}
第3个回答  2010-08-04
太平洋电脑网 孙鑫vc++视频教程 里面有几节课是专门讲这个的。你可以去看看。

VC++中怎样获取到一个窗体的句柄?
回答:FindWindow接收两个参数,第一个是窗口的类名,第二个就是窗口的标题。 类名和标题都可以通过VS自带的工具Spy++获取到。 他返回的就是一个窗口的句柄,HWND类型。 MFC中封装了此方法,可以直接调用。

vc MFC 类似 spy++,dm的取窗口句柄,这个功能怎么在VC++中实现?
HANDLE_MSG( hwnd , WM_MOUSEMOVE, OnMouseMove )在OnMouseMove中, 设置SetCaputre()移动鼠标到目标窗口(切记, SetCapture()捕捉其他程序的窗口鼠标消息要求按住鼠标左键的)调用HWND hTarget = WindowFromPoint( ... )打印hTarget即可

在VC++MFC中,怎样从一个窗口获取另外一个窗口的编辑框的文本???
1、如果是对话框,那么先得到那个对话框的窗口hWnd,然后通过传入ID就会得到对应的编辑框句柄,然后得到文本:HWND hEdit = GetDlgItem( hDlgWnd, uEditID );TCHAR szBuf[MAX_PATH];::GetWindowText( hEdit, szBuf, MAX_PATH );2、如果是其他窗口,其他窗口创建时保存Edit窗口的指针,然后通过这个...

VC++ MFC在对话框上画图问题
1、如何在新建的一个dialog中添加onpaint()函数?例如你新建了一个dialog,类名为test22(添加类是双击新建那个窗口),接着找到这个类的头文件test22.h,在其中的protected中添加一行afx_msg void OnPaint();这样就可以在test22.cpp中用onpaint()函数了,添加void test22::OnPaint(){}就可以了:...

VC++怎么在主窗口类中获取调用子窗口类中的变量,获取子窗口类中的变量...
1、父窗口可以获取子窗口关闭时候的返回值 2、可以全局变量,这个最好理解 3、可以用消息 4、可以用存储,一般需要获取的控件的值都是我们关心的,也就是需要存储的,所以把这个值存在数据库或文件里,这个改了,那里提取就可以了,这个方法个人认为最合理,程序大了也不会乱掉 ...

VC++\/MFC 后台模拟按键
思路完全错了 打开我的电脑有特定的代码 单单是SendMessage PostWindow就太简单了 FindWindow也不可能找到没有打开的我的电脑的句柄 建议你从基础学起 先试试钩子 你的代码看上去就跟扯淡似的 模拟鼠标 键盘消息也有特定的函数 mouse_event()和keybd_event 等 用法你自己找 ...

c++,MFC获取其他应用程序界面的内容
然后你自己的程序通过句柄,进入那个内存地址,取出数据.另一种就是API HOOK.这要自己做可能有些难,不过网络上骚包很多,应该有写好的代码.对方创建对话框的时候,用到MessageBox(),或者CreateWindow()之类的API,你只要通过代码,跟踪过去,应该就能找到内容.最后一提,你开发这种类型的程序,经常要...

VC++ Hook截取鼠标点击窗口消息的问题!全局钩子,高手进!
你需要截获 按钮 HWND 的 WM_LBUTTONDOWN 函数。好几种方法实现。比较简单的一种:采用SetWindowLong子类化该HWND,即设置该窗口的消息处理函数,然后判断消息是不是按钮被按下了,做好处理之后再去调用老的消息处理函数。但是,每个进程都有各自的私有4G空间,而你要截获的是远进程窗口消息,因此,你不...

EnumWindows举例
在VC++ MFC中,想要列举并获取所有桌面窗口的信息,可以使用`EnumWindows`函数。这个函数通常与一个回调函数一起使用,以便在遍历每个窗口时获取窗口标题。以下是一个简单的示例,展示了如何实现这个功能。首先,定义一个回调函数`lpEnumFunc`,它接收两个参数:窗口句柄`HWND hwnd`和一个自定义参数`LPARAM...

MFC:新手求助关于菜单项的一个问题
你看的是不是孙鑫老师的那本书啊?GetMenu( )返回值是菜单的句柄。如果给定的窗口没有菜单,则返回NULL。你用vc6.0就不会有问题了,vc2010里头的mfc是最新版。

相似回答