ExeSendMessage.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Runtime.InteropServices;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. namespace SendUpFileDataToFTP
  11. {
  12. public partial class ExeSendMessage : Form
  13. {
  14. [DllImport("user32.dll")]
  15. public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
  16. [DllImport("user32.dll")]
  17. public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
  18. [DllImport("user32.dll", CharSet = CharSet.Unicode)]
  19. public static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
  20. public ExeSendMessage()
  21. {
  22. InitializeComponent();
  23. }
  24. private void ExeSendMessage_Load(object sender, EventArgs e)
  25. {
  26. IntPtr fWnd = FindWindow(null, "远程相片上传工具");
  27. IntPtr childHwnd = FindWindowEx(fWnd, new IntPtr(0), null, "添加");
  28. IntPtr txtbox = FindWindowEx(fWnd, new IntPtr(0), null, "");
  29. const int WM_CHAR = 0x0102;
  30. string strtext = "A";
  31. UnicodeEncoding encode = new UnicodeEncoding();
  32. char[] chars = encode.GetChars(encode.GetBytes(strtext));
  33. Message msg;
  34. foreach (char c in chars)
  35. {
  36. msg = Message.Create(txtbox, WM_CHAR, new IntPtr(c), new IntPtr(0));
  37. PostMessage(msg.HWnd, msg.Msg, msg.WParam, msg.LParam);
  38. }
  39. }
  40. }
  41. }