日期:2014-05-17  浏览次数:20835 次

C# 怎么调用qq客户端并自动输入用户名密码?
和这个差不多。。http://topic.csdn.net/u/20091112/14/5f8e2977-2268-4a1a-b2a6-a553dac94228.html

现在就差 获取程序文本框清空 并赋值

不要命令行的那个 要实现自动输入到文本框中。

我现在用System.Windows.Forms.SendKeys.Send("xxx");发送
现在可以发送成功 账号和密码 但是我在发送回车的时候 登录提示密码错误不知道为什么
我是先循环发送账号一个一个字符 然后发送tab 在循环发送密码 最后回车


我感觉不太好用 这个没办法清空文本。

最好能有人提供下如何调用api获得文本框 getwindowtext 然后清空 里面文字

然后再模拟键盘输入。 就循环输入。。账号 然后 tab 然后密码 最后回车

哪个好心人 告诉下怎么用api获得文本框啊。貌似还要先取得他的句柄什么的 谁知道告诉下 我弄好了就给分

------解决方案--------------------
C++中有个工具可以查看消息,控件名称等(未安装C++就没有)。。。你可以API来获取这个控件的句柄。。。在赋值。不知道这样阿行
------解决方案--------------------
研究api吧,findwindow,settext等等..
好像TX的窗口是加密的.用键盘驱动吧.
------解决方案--------------------
你说的这个程序,我制作过了,但是通过api句柄是没有办法找到QQ的文本框的,应该都是绘画的吧,不过你可以试试将QQ固定位置,然后通过句柄来获取。
        [DllImport("user32.dll")]//获得点的坐标
        static extern bool GetCursorPos(ref Point lpPoint);
        [DllImport("user32.dll")]//获得窗口句柄
        public static extern int WindowFromPoint(int xPoint, int yPoint);
        [DllImport("user32.dll")]//获得窗口类
        public static extern int GetClassName(int hwnd, StringBuilder lpClassName,
                                          int nMaxCount);
        [DllImport("USER32.DLL", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern bool SendMessage(
        int hWnd,             //   handle   to   destination   window   
        int Msg,               //   message   
        int wParam,     //   first   message   parameter   
        [MarshalAs(UnmanagedType.LPTStr)]StringBuilder lParam       //   second   message   parameter   
        );   
        const int WM_GETTEXT = 0x000D;
      // Public Const  WM_GETTEXT = &HD;
        [DllImport("user32.dll ")]  //设置窗口在最前面 
        private static extern bool SetForegroundWindow(IntPtr hWnd); 
------解决方案--------------------
spy++可以直接看句柄啊,QQ界面是绘的,不可以
------解决方案--------------------