Handle окна - C#
Формулировка задачи:
Привет всем. Хотел бы чтобы программа получила доступ к игре Gta san Andreas ( для игры по сети через клиент Samp ). В игре через клиент пишется сообщение через F6 и отправляется нажатием ENTER. У меня в программе есть кнопка допустим "посадить игрока" и edit1 нужно чтобы пользователь вводил id игрока в edit1 и нажимал кнопку "посадить игрока" ( iD он знает сам ). Пример: команда /jail ID
Вроде нужно: 3 длл на импорт библиотек вин апи, ешё штук пять для поиска и фокусировки окна, ну и для отправки кнопок в это окно. Пожалуйста дайте код. Желательно весь!
Решение задачи: «Handle окна»
textual
Листинг программы
const int WM_KEYDOWN = 256; const int WM_KEYUP = 257; [DllImport("user32.dll", EntryPoint = "FindWindow")] private static extern IntPtr FindWindow(string _ClassName, string _WindowName); [DllImport("user32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtr FindWindowEx(IntPtr hwndPrnt, IntPtr hwndChildAfter, string _ClassName, string _WindowName); [DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern int PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam); private void Post() { IntPtr hWnd = FindWindow(null, "Безымянный - Блокнот"); if (hWnd == IntPtr.Zero) { MessageBox.Show("Not found main", "Error"); return; } IntPtr hEdit = FindWindowEx(hWnd, IntPtr.Zero, "Edit", ""); if (hEdit == IntPtr.Zero) { MessageBox.Show("Not found child", "Error"); return; } IntPtr t1 = (IntPtr)Keys.F5; IntPtr nul = IntPtr.Zero; PostMessage(hEdit, WM_KEYUP, t1, nul); PostMessage(hEdit, WM_KEYDOWN, t1, nul); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д