Нажатие на кнопку в чужом приложении - C#
Формулировка задачи:
Всем доброго времени суток. Мне нужно нажать на кнопку в чужом приложении и вставить текст в поле. Через Spy++ я получаю название окна и обращаюсь к нему через FindWindow, но как обратиться к самой кнопке и текстовому полю?
Решение задачи: «Нажатие на кнопку в чужом приложении»
textual
Листинг программы
using System; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Diagnostics; using System.Drawing; using System.Text; using System.Collections.Generic; namespace WindowsFormsOPEN { public static class WinAPI { [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr GetWindow(IntPtr HWnd, GetWindow_Cmd cmd); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, [Out] StringBuilder lParam); public enum GetWindow_Cmd : uint { GW_HWNDFIRST = 0, GW_HWNDLAST = 1, GW_HWNDNEXT = 2, GW_HWNDPREV = 3, GW_OWNER = 4, GW_CHILD = 5, GW_ENABLEDPOPUP = 6, WM_GETTEXT = 0x000D } } public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { IntPtr ptr = WinAPI.FindWindow(null, "AntiPlagiarism.NET"); if (ptr.ToInt32() != 0) { IntPtr child = WinAPI.GetWindow(ptr, WinAPI.GetWindow_Cmd.GW_CHILD); MessageBox.Show(child.ToString()); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д