我想做一个QQ自动登陆,使用的QQ是2009.现在先模拟打开QQ,然后通过api调用回调函数。回调函数为一个委托方法,但是在方法中整个参数乱码,请问如何解决?

  具体流程为,启动QQ,获取当前启动QQ的句柄,通过EnumChildWindows方法回调方法,但是在EnumWindowsProc中,account和pwd乱码。请问如何解决?

  1. public delegate bool CallBack(IntPtr hwnd, int lParam, string account, string pwd );
  2.  
  3. [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  4. static extern IntPtr EnumChildWindows(IntPtr hWndParent, CallBack lpEnumFunc, int lParam);
  5.  
  6. /// <summary>
  7. /// QQ登录
  8. /// </summary>
  9. public static void LoginIn(string account = "123456", string pwd = "123456")
  10. {
  11. //启动QQ程序
  12. StartCmd();
  13.  
  14. IntPtr h;
  15. string strName = "QQ2009";
  16. h = FindWindow(null, strName);
  17. if (h.ToInt32() != 0)
  18. {
  19. MoveWindow(h, 0, 0, 350, 300, true);
  20. CallBack myCallBack = new CallBack(EnumWindowsProc);
  21. EnumChildWindows(h, myCallBack, 0);
  22. }
  23. }
  24.  
  25. /// <summary>
  26. ///将鼠标移动到登陆按钮
  27. /// </summary>
  28. /// <param name="h"></param>
  29. /// <param name="lParam"></param>
  30. /// <returns></returns>
  31. private static bool EnumWindowsProc(IntPtr h, int lParam, string account, string pwd)
  32. {
  33. //改变账号
  34. SetCursorPos(900, 530);
  35. SetForegroundWindow(h);
  36. SendMessage(h, 0x000C, IntPtr.Zero, account.ToString());
  37.  
  38. //移动鼠标到登陆按钮
  39. SetCursorPos(1090, 645);
  40. SetForegroundWindow(h);
  41. mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  42. return false;
  43. }

  

急!急!急!请问win32api参数乱码如何解决!的更多相关文章

  1. URL传参时中文参数乱码的解决方法

    URL传参时,中文参数乱码的解决: 今天在工作中遇到了这样的一个问题,在页面之间跳转时,我将中文的参数放入到url中,使用location进行跳转传参,但是发现接收到的参数值是乱码.我的代码是这样写的 ...

  2. Js的Url中传递中文参数乱码的解决

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: 2. 接收参数页面:test02.html 二:如何获取Url& ...

  3. request.getParameter()获取URL中文参数乱码的解决办法

    这个问题耽误好长时间,URL传中文参数出现乱码,就算首次使用request接收就添加 request.setCharacterEncoding("UTf-8"); 依然报错不误. ...

  4. jQuery Ajax传值给Servlet,在Servlet里Get接受参数乱码的解决方法

    最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如 ...

  5. JS获取URL中文参数乱码的解决方法

    浏览器URL参数值中带有汉字字符,在接收时直接获取会出现乱码,下面是解决方法(传递前不需要encodeURI): function getUrlVars() { var vars = [], hash ...

  6. tomcat取带有中文的参数乱码的解决办法

    1. 对于post参数,可以用filter来处理,在dofilter之前,加入以下代码: request.setCharacterEncoding("UTF-8"); 2. 对于g ...

  7. fiddler抓包参数乱码的解决方法

    解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 4.右键新建,选字符串 ...

  8. spring mvc 中文参数乱码

    最近做项目,springmvc的url中文参数乱码: 请求url: http://localhost:8080/supply/supply_list.htm?productName=测试&is ...

  9. Request 接收参数乱码原理解析三:实例分析

    通过前面两篇<Request 接收参数乱码原理解析一:服务器端解码原理>和<Request 接收参数乱码原理解析二:浏览器端编码原理>,了解了服务器和浏览器编码解码的原理,接下 ...

随机推荐

  1. 手脱ACProtect V1.4X(有Stolen Code)

    1.载入PEID ACProtect V1.4X -> risco 首先需要说明的是,这个壳被偷取的代码非常多,如果去找的话会比较麻烦,所以我们换一种另类的方法,不脱壳也可以使用资源修改器对程序 ...

  2. Qt ------ 内存回收机制、new对象的回收

    写在前面的总结: 建议:对于不能指定父对象的对象(对象通过moveToThread()移入其他线程.没有继承QObject的类产生的对象),在其他线程通过deleteLater()内存回收,其他通过指 ...

  3. iPhoneX页面安全区域与内容重叠问题

    转载自:https://www.cnblogs.com/lolDragon/p/7795174.html 1.  iPhoneX的介绍 屏幕尺寸 我们熟知的iPhone系列开发尺寸概要如下: △ iP ...

  4. vue-transition-animation

    <!Doctype> <html> <head> <meta charset="utf-8"> <meta name=&quo ...

  5. JS学习之函数的属性和方法

  6. Ubuntu12.04 安装LAMP及phpmyadmin

    1.安装 Apache apt-get install apache2 2.安装 PHP5 apt-get install php5 libapache2-mod-php5 3.安装 MySQL ap ...

  7. 【poj1901-求区间第k大值(带修改)】树状数组套主席树

    901: Zju2112 Dynamic Rankings Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 7025  Solved: 2925[Sub ...

  8. Codeforces Round #411 (Div. 2) A-F

    比赛时候切了A-E,fst了A Standings第一页只有三个人挂了A题,而我就是其中之一,真™开心啊蛤蛤蛤 A. Fake NP time limit per test 1 second memo ...

  9. 【51NOD-0】1058 N的阶乘的长度

    [算法]数学 [题解]n!的位数相当于ans=log10(n!)上取整,然后就可以拆出来加了. 可以用log10(i)或log(i)/log(10) 阶乘好像有个斯特林公式…… #include< ...

  10. 【HDU】6012 Lotus and Horticulture (BC#91 T2)

    [算法]离散化 [题解] 答案一定存在于区间的左右端点.与区间左右端点距离0.5的点上 于是把所有坐标扩大一倍,排序(即离散化). 让某个点的前缀和表示该点的答案. 初始sum=∑c[i] 在l[i] ...