1

Webブラウザでマウスの右/中クリックを呼び出すにはどうすればよいですか

私は、JavaScriptを使用してWebブラウザでリンクを右クリックしてシミュレートしようとしていますが、このコードからシミュレーションの右クリックを使用していますが、すべて機能しません!

HtmlElementCollection links = webBrowser1.Document.GetElementsByTagName("A");

foreach (HtmlElement link in links) 
        object[] args = { link };
        HtmlElement script1 = webBrowser1.Document.CreateElement("script");
        HtmlElement script2 = webBrowser1.Document.CreateElement("script");
        HtmlElement script3 = webBrowser1.Document.CreateElement("script");
        HtmlElement script4 = webBrowser1.Document.CreateElement("script");
        script1.SetAttribute("rightc1", "function rightc1(thiselements)
         {var element = thiselements;var e = element.ownerDocument.createEvent('MouseEvents');
           e.initMouseEvent('contextmenu', true, true,element.ownerDocument.defaultView, 
                                       1, 0, 0, 0, 0, false,false, false, false,2, null);
           return !element.dispatchEvent(e);}");
        script2.SetAttribute("rightc2", "function rightc2(thiselements){$('#thiselements').trigger({type: 'mousedown',which: 3});}");
        script3.SetAttribute("rightc3", "function rightc3(thiselements){$('#thiselements').trigger({type: 'mouseup',which: 3});}");
        script4.SetAttribute("rightc4", "function rightc4(thiselements)
                              {$('#thiselements').trigger({type: 'mousedown',which: 3}).
                                      trigger({type: 'mouseup',which: 3});}");
        link.AppendChild(script1);
        webBrowser1.Document.InvokeScript("rightc1", args);    

        link.AppendChild(script2);
        webBrowser1.Document.InvokeScript("rightc2", args);        

        link.AppendChild(script3);
        webBrowser1.Document.InvokeScript("rightc3", args);

        link.AppendChild(script4);
        webBrowser1.Document.InvokeScript("rightc4", args);

また、これらのコードで左クリックをシミュレートできることlink.InvokeMember("Click"); は知っていますが、右クリックが必要で、それをシミュレートする方法がわかりません。

また、マウスを動かしてクリックをシミュレートしたくありません。

4

0 に答える 0