Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试将数据从WPF应用程序发送到任何Web浏览器上的网页_C#_Asp.net_Wpf_Vb6_Pinvoke - Fatal编程技术网

C# 尝试将数据从WPF应用程序发送到任何Web浏览器上的网页

C# 尝试将数据从WPF应用程序发送到任何Web浏览器上的网页,c#,asp.net,wpf,vb6,pinvoke,C#,Asp.net,Wpf,Vb6,Pinvoke,可能的副本: 如果我的问题语气有点不好,我想道歉。我被卡住了,我知道。 好的,我正在制作一个程序,将数据从WPF应用程序传输到VB6应用程序和网页。根据配置,它将调用一个过程来发布数据。我已经完成了VB 6方面的工作,但是网页有一个大问题,因为: 该过程必须适用于所有已知的浏览器 我不允许以web请求的形式发送数据 我无法控制要使用的网站 我也不允许使用任何第三方软件 我已经尝试了以下方法: Sendmessage,带键向上和键向下,用于制表符和字符键 要发送的字符串的带有postmess

可能的副本:

如果我的问题语气有点不好,我想道歉。我被卡住了,我知道。 好的,我正在制作一个程序,将数据从WPF应用程序传输到VB6应用程序和网页。根据配置,它将调用一个过程来发布数据。我已经完成了VB 6方面的工作,但是网页有一个大问题,因为:

  • 该过程必须适用于所有已知的浏览器
  • 我不允许以web请求的形式发送数据
  • 我无法控制要使用的网站
  • 我也不允许使用任何第三方软件
我已经尝试了以下方法:

  • Sendmessage,带键向上和键向下,用于制表符和字符键
  • 要发送的字符串的带有postmessage的Sendmessage
  • 以上的Postmessage版本
  • 用于将数据作为HTMLdocument发送的MSHTML
  • SendKeys(尽管尚未深入研究)
下面是sendmessage的代码(最接近我的所有尝试)

IntPtr window=User32_Methods.FindWindow(null,“测试站点”);
如果(窗口!=IntPtr.Zero)
{
MessageBox.Show(“asdasd”);
User32_Methods.SendMessage(窗口,Send_Message_Constants.WM_LBUTTONDOWN,IntPtr.Zero,IntPtr.Zero);
User32_Methods.SendMessage(窗口,Send_Message_Constants.WM_LBUTTONUP,IntPtr.Zero,IntPtr.Zero);
对于(int count=0;count<15;count++)
{
User32_Methods.PostMessage(窗口,Send_Message_Constants.WM_KEYDOWN,(IntPtr)Send_Message_Constants.VK_选项卡,IntPtr.Zero);
User32_Methods.PostMessage(窗口,Send_Message_Constants.WM_KEYUP,(IntPtr)Send_Message_Constants.VK_选项卡,IntPtr.Zero);
foreach(在“adasdad”中的字符a)
{
User32_Methods.PostMessage(窗口,Send_Message_Constants.WM_KEYDOWN,(IntPtr)Send_Message_Constants.VK_A,IntPtr.Zero);
User32_Methods.PostMessage(窗口,Send_Message_Constants.WM_KEYUP,(IntPtr)Send_Message_Constants.VK_A,IntPtr.Zero);
}
}
}

我想问一下stack的各位,因为你们解决了我在这里遇到的大多数问题。

我知道这可能不是解决问题的方法,但是我看到你们将尝试使用send键,所以也许你们可以添加一些自己的.js,用你们的逻辑执行它。由于发送键类似于将数据输入表单/单击按钮/或其他方式,js例程可能会帮助您……

您是否有所有已知浏览器的列表?即Firefox、Chrome、Rockmelt和Safari。Chrome和Firefox是首选。我可以想出更多的。首先是歌剧。还有其他的。此信息需要在问题中。谢谢添加。我会记住的。
   IntPtr window = User32_Methods.FindWindow(null, "Test Site");
        if(window!=IntPtr.Zero)
        {
            MessageBox.Show("asdasd");
            User32_Methods.SendMessage(window, Send_Message_Constants.WM_LBUTTONDOWN, IntPtr.Zero, IntPtr.Zero);
            User32_Methods.SendMessage(window, Send_Message_Constants.WM_LBUTTONUP, IntPtr.Zero, IntPtr.Zero);
            for (int count = 0; count < 15;count++)
            {
                User32_Methods.PostMessage(window, Send_Message_Constants.WM_KEYDOWN, (IntPtr) Send_Message_Constants.VK_TAB, IntPtr.Zero);
                User32_Methods.PostMessage(window, Send_Message_Constants.WM_KEYUP, (IntPtr)Send_Message_Constants.VK_TAB, IntPtr.Zero);
                foreach(char a in "adasdasdasd")
                {
                    User32_Methods.PostMessage(window, Send_Message_Constants.WM_KEYDOWN, (IntPtr)Send_Message_Constants.VK_A, IntPtr.Zero);
                    User32_Methods.PostMessage(window, Send_Message_Constants.WM_KEYUP, (IntPtr)Send_Message_Constants.VK_A, IntPtr.Zero);
                }
            }
        }