Как поймать событие щелчка и точку в форме - & gt;панель - & gt;встроенный exe, winform C#
Привет,
У меня есть форма.
Я запускаю exe-файл внутри WinForm вот так:
exe находится в панели, панель - в форме.
Этот код загружает exe-файл в панель. Все в порядке.
private void Form1_Load(object sender, EventArgs e) { var path = @"C:\Users\Toshiba\WindowsApp.exe"; Process p = Process.Start(path); Thread.Sleep(500); // Allow the process to open it's window IntPtr ptr = IntPtr.Zero; while ((ptr = p.MainWindowHandle) == IntPtr.Zero) ; SetParent(p.MainWindowHandle, panel1.Handle); MoveWindow(p.MainWindowHandle, 0, 0, this.Width - 90, this.Height, true); p.EnableRaisingEvents = true; }
Когда я нажимаю на любую точку exe-файла,мне нужно поймать ее точку(x, y).Как я могу поймать это событие, возможно ли это?
Спасибо.
Что я уже пробовал:
Я пытаюсь этот код поймать событие щелчка в панели (exe находится в панели). Но этот код не дал желаемых результатов .
const int WM_PARENTNOTIFY = 0x0210; const int WM_LBUTTONDOWN = 0x0201; protected override void WndProc(ref Message m) { if (!this.DesignMode) { if (m.Msg == WM_PARENTNOTIFY) { if (m.WParam.ToInt32() == WM_LBUTTONDOWN) { } } } base.WndProc(ref m); }
turanian
У кого-нибудь есть предложение ?
BillWoodruff
Посмотрите на использование GlobalMouseHook. Есть несколько статей об этом здесь, на CP.
turanian
Спасибо :) https://github.com/gmamaladze/globalmousekeyhook линк решил мою проблему.