我想获取浏览器中网址的信息,然后再网址后面继续添加一些内容!
我利用spy++获取了浏览器中的textbox的句柄值,现在要获取其中的值,看网上说GetWindowTxt不行,得利用sendmessage这个函数,没怎么弄过api求解答!
我的代码
        [DllImport("User32.dll", EntryPoint = "SendMessage")]
        private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);
        const int WM_GETTEXT = 0x000D;
        const int WM_SETTEXT = 0x000C;
 int a = int.Parse("000203AA", NumberStyles.HexNumber);//00203AA是spy++获取的
 IntPtr p=(IntPtr)a;
 StringBuilder st= new StringBuilder(256);
 SendMessage(p, WM_GETTEXT,IntPtr.Zero, st.ToString());
 MessageBox.Show(st.ToString());

解决方案 »

  1.   

      [DllImport("User32.dll", EntryPoint = "SendMessage")]
      private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, StringBuilder lParam);
      const int WM_GETTEXT = 0x000D;
      const int WM_SETTEXT = 0x000C;int a = int.Parse("000203AA", NumberStyles.HexNumber);//00203AA是spy++获取的
     IntPtr p=(IntPtr)a;
     StringBuilder st= new StringBuilder(256);
     SendMessage(p, WM_GETTEXT,IntPtr.Zero, st);
     MessageBox.Show(st.ToString());传StringBuilder才能获取到值 
      

  2.   

    改成stringbuilder还是空,难道浏览器里的取不到值?