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