Программное нажатие кнопки в другой программе - C#
Формулировка задачи:
вот код который имею почему-то когда пытаюсь найти саму кнопку возвращает 0
пожалуйста помогите уже неск раз перелопатил рунет и буржуйнет толку ноль.
[DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle); [DllImport("user32.dll")] public static extern bool PostMessage(IntPtr hwnd, uint msg, uint wParam, uint lParam); [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); const int WM_LBUTTONDOWN = 513, WM_LBUTTONUP = 514; IntPtr hwndChild = IntPtr.Zero; IntPtr f = FindWindow(null, "handl окна"); MessageBox.Show(f.ToString()); hwndChild = FindWindowEx(f, IntPtr.Zero, "Button", "Надпись на кнопке"); // вот здесь не находит PostMessage(hwndChild, WM_LBUTTONDOWN, 1, 0); PostMessage(hwndChild, WM_LBUTTONUP, 0, 0); MessageBox.Show(hwndChild.ToString());
кстати если найти handl при помощи spy++ то все прекрасно работает.
Решение задачи: «Программное нажатие кнопки в другой программе»
textual
Листинг программы
IntPtr hwnd = FindWindow(null, "имя окна"); IntPtr hwndChild = FindWindowEx(hwnd, IntPtr.Zero, "...", "..."); PostMessage(hwndChild, WM_LBUTTONDOWN, (IntPtr)1, IntPtr.Zero); PostMessage(hwndChild, WM_LBUTTONUP, (IntPtr)1, IntPtr.Zero);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д