#c# #click #sendmessage
#c# #Нажмите #Отправить сообщение
Вопрос:
Существует множество способов имитировать щелчок мыши в неактивном окне. Я хочу, чтобы моя программа выполняла щелчки, даже когда она свернута, и, конечно, без захвата основной мыши.
В частности, моя программа на C # будет содержать веб-элемент управления, отображающий некоторый flash-контент, и именно здесь я хочу, чтобы щелчки происходили.
вот методы, которые я пробовал:
1. [DllImport("user32.dll", CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
2. [DllImport("user32.dll", SetLastError = true)]
public static extern bool SendMessage(int hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
В моем случае оба они не принесли никакой пользы. Удивительно, но я смог использовать SendMessage()
функцию для отправки щелчков мыши в свернутом Chrome, отображающем некоторый flash-контент. но, похоже, в моей программе на C # этого не происходит. Есть ли вероятность, что моя программа по какой-либо причине не получит сообщение?
Любые подсказки о том, как я могу это сделать?
Комментарии:
1. Внедрите JavaScript в веб-элемент управления. Google «Внедрение JavaScript C-sharp»
2. Я немного прочитал об инъекциях JS, поскольку я понял, что это ярлыки для сокращения времени и усилий с помощью JS, введенного в URL, какие коды я мог бы использовать в JS, или как использовать это в мою пользу в этой проблеме?
3. Нет — инъекции javascript не имеют никакого отношения к URL. Они выполняют javascript на веб-странице так же, как если бы он был введен программистом. Вы можете, например, выполнить нажатие кнопки, введя документ. getElementById(«MyButton»).Click() Таким образом, вы можете взаимодействовать с любой частью DOM и манипулировать чем угодно на веб-странице.
4. Теперь, если вы пытаетесь изменить сам Flash (например, при взломе игры), вам нужно будет изменить байт-код, если flash не предоставил actionscript через JavaScript. Вы на самом деле не указали, какова ваша цель.
5. Благодаря Шеннону Холсингеру, моя цель — иметь возможность выполнять щелчки, при этом программа сведена к минимуму, так же, как автоматизировать что-то в ней, я расскажу об этом подробнее.