使用GetMenu无法获取menuStrip,返回总是0?求指教

问题描述

代码如下,目的是获取menustrip的句柄,通过FindWind找到主窗口句柄后,主窗口句柄获取无误,再通过GetMenu想取得menuStrip的句柄,但是总是返回0,想知道错在哪里了?usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Runtime.InteropServices;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespacetemp{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}//获取菜单[DllImport("user32.dll")]staticexternIntPtrGetMenu(IntPtrhwnd);//获取子菜单[DllImport("user32.dll")]staticexternIntPtrGetSubMenu(IntPtrhMenu,intnPos);//获取菜单选项ID[DllImport("user32.dll")]staticexternintGetMenuItemID(IntPtrhMenu,intnPos);[DllImport("user32.dll",EntryPoint="FindWindow",CharSet=CharSet.Auto)]staticexternIntPtrFindWindow(stringlpClassName,stringlpWindowName);[DllImport("user32.dll")]staticexternIntPtrGetSystemMenu(IntPtrhwnd,boolflag);privatevoidbutton1_Click(objectsender,EventArgse){//...//mwh:mainwindowhandleIntPtrmwh=FindWindow(null,"Form1");Thread.Sleep(1000);mwh=FindWindow(null,"Form1");IntPtrhMainMenu=GetSystemMenu(mwh,false);Thread.Sleep(1000);hMainMenu=GetMenu(mwh);IntPtrhFile=GetSubMenu(hMainMenu,0);intiExit=GetMenuItemID(hFile,1);textBox1.Text=hMainMenu.ToString();//...}}}

解决方案

本帖最后由 king8569 于 2015-06-09 00:07:17 编辑
解决方案二:
同样的问题。顶

时间: 2025-01-21 06:28:52

使用GetMenu无法获取menuStrip,返回总是0?求指教的相关文章

蓝牙4 0-Android蓝牙4.0 搜索蓝牙时不断获取蓝牙返回的基站信息

问题描述 Android蓝牙4.0 搜索蓝牙时不断获取蓝牙返回的基站信息 蓝牙搜索时onLeScan方法返回了3个参数:蓝牙实体,rssi信号强度,byte[]蓝牙基站信息.现在蓝牙板将一些广播信息放在了byte中,目前的一个问题是蓝牙开启搜索后,这个onLeScan方法只返回一次蓝牙板信息,蓝牙再就不会调用这个方法.多个蓝牙板时,一个蓝牙板只返回一次信息.ios只需要更改一个参数就可以实现不停的获取蓝牙基站的信息,安卓要如何实现呢? 解决方案 我也碰到这个问题,有一个解决的办法,但是又会引起其

js-C#中Webbrower控件如果获取Json返回数据

问题描述 C#中Webbrower控件如果获取Json返回数据 登陆QQ空间后,提交http://r.qzone.qq.com/cgi-bin/tfriend/friend_mngfrd_get.cgi?uin=504558588&rd=0.11234432621859014&g_tk=1037379006&fupdate=1 的Url就可以返回一个包含虽有好友Json数据的页面,内容如下 _Callback({ "code":0, "subcode&

模拟登录-java模拟登陆为什么要将程序反复运行好几次才能获取到返回的数据

问题描述 java模拟登陆为什么要将程序反复运行好几次才能获取到返回的数据 我用MyEcplise工具Java语言做的模拟登录,在访问成功之后将Cookie放到了获取成绩的代码中,但是在获取成绩的时候会有问题.也就是每当运行的时候就会返回 //初始化函数 function init(){ document.form.action='/logout.do'; document.form.target = "_top"; document.form.submit(); } setTimeo

SqlServer获取存储过程返回值的实例_MsSql

1.OUPUT参数返回值 复制代码 代码如下: CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: 复制代码 代码如下: DECLARE @o_buyerid i

C# 获取IPCONFIG 返回值

在我们获取本机局域网IP以及其他相关信息时,直接调用系统IPCONFIG,也是一种很有效的方法. 以下是我用C#实现的 读取ipconfig的返回值的代码:     代码 /// <summary>        /// 获取IPCONFIG返回值        /// </summary>        /// <returns>返回 IPCONFIG输出</returns>        public static string GetIPConfigR

c++-C++求平均数和最小值,这个最小值返回了0是什么问题?

问题描述 C++求平均数和最小值,这个最小值返回了0是什么问题? #include<iostream> using namespace std; int i = 0; double score[16]; double sum; double ave; int min()//求最小值 { double temp = score[0]; for (int count = 1; count < 16; count++) { if (score[i] < temp) { temp = sc

微信开放平台-求教下授权成功以后,怎么获取网页返回的access_token

问题描述 求教下授权成功以后,怎么获取网页返回的access_token 进入授权,允许后在页面返回一个json数据段,已经显示在这个页面上,请问我要怎么获得这个数据呢,写入后台. request 也收不到 {"access_token":"ACCESS_TOKEN","expires_in":7200} 我有这个了 接下来这个要怎么获取到后台 解决方案 http://mp.weixin.qq.com/wiki/11/0e4b294685f817

java-bsgrid 如何局部刷新列表?获取Java返回的json格式的数据?

问题描述 bsgrid 如何局部刷新列表?获取Java返回的json格式的数据? java端SpringMVC 框架调用的方法如下: @ResponseBody @RequestMapping("/ajaxPage") public String ajaxPage(HttpServletRequest request){ String pageSize = request.getParameter("pageSize"); System.out.print(page

mongodb-MongoDB insert成功,数据已经入表,但是getN返回为0,有同学遇到相同的问题了么?

问题描述 MongoDB insert成功,数据已经入表,但是getN返回为0,有同学遇到相同的问题了么? MongoDB insert成功,数据已经入表,但是getN返回为0,有同学遇到相同的问题了么? 修改和删除又是正常的,很奇怪. 解决方案 可能是get语句写错了,你可以仔细检查下语句是否正确.