C# 控制另一台计算机上的浏览器

C# 控制另一台计算机上的浏览器,c#,.net,browser,remoting,C#,.net,Browser,Remoting,嗯, 键入标题让我觉得我是一个黑客,想要找一些非法的stuf 但我认为事实并非如此。我的客户希望同时在不同的计算机上控制3个Web应用程序 我不能确切地说这是什么,但他想,当他在浏览器中的按钮1上点击计算机A时,浏览器中的计算机B上也会点击按钮1,也会点击计算机C 当我将这个过程分为3个步骤时,我意识到这些都不是我以前做过的事情: 第一件事是从浏览器中取出click事件 第二是将点击事件通知计算机编号B和C 第三种方法是在计算机B和C的浏览器中单击一个按钮 有三件事我不知道如何完成(我过去做过一

嗯,

键入标题让我觉得我是一个黑客,想要找一些非法的stuf

但我认为事实并非如此。我的客户希望同时在不同的计算机上控制3个Web应用程序

我不能确切地说这是什么,但他想,当他在浏览器中的按钮1上点击计算机A时,浏览器中的计算机B上也会点击按钮1,也会点击计算机C

当我将这个过程分为3个步骤时,我意识到这些都不是我以前做过的事情:

第一件事是从浏览器中取出click事件 第二是将点击事件通知计算机编号B和C 第三种方法是在计算机B和C的浏览器中单击一个按钮

有三件事我不知道如何完成(我过去做过一些远程处理,也许这可以用于三台计算机之间的通信,但我只记得远程处理没有成为我的朋友)

因此,如果您能给我一些线索,告诉我如何在浏览器外捕捉浏览器事件、在两台电脑之间交谈以及从浏览器外在浏览器中引发事件,我们将非常感谢您的帮助

编辑:


我不控制应用程序。我的客户将使用它发送多个库存订单。因此,我认为您可以将其与投票网站上的up vote进行比较

我知道这不是您问题的直接答案,但从业务和开发人员的角度来看,这是一个有效的答案

除非您的客户愿意为开发时间付出高昂的代价,否则最好找出客户为什么需要开发时间,并提供可能的替代方案。没有大量的工作,他们的要求是不可能实现的。我甚至不知道从哪里开始——可能是在WinForms应用程序中使用BrowserControl编写自己的浏览器,并使用远程处理来控制WinForms应用程序

实际上,你最好更好地研究需求,并提出一个可行的替代方案。作为一名优秀的开发人员/分析师/项目经理等的一部分是能够从客户所说的他们想要的东西中正确地判断客户的实际需要

可能他们只需要你跟踪某个东西的状态,而你单独的浏览器需要自动刷新。也可能是WinForms不是适合这项工作的工具。或者它可能是完全不同的东西。见鬼,它可以简单到只有一个浏览器,人们可以使用VNC或类似工具从另一台PC“观看”该浏览器

通常有多种方法可以满足业务需求,而无需关注困难的技术需求重要的是业务需求。如果你能找到另一种方法来解决这个问题,你就不必在这类问题上大惊小怪了


作为补充说明,听到你甚至在不理解为什么的情况下寻找“如何做到这一点”,我感到很尴尬。获得正确的需求在开发中非常重要。大多数项目失败是因为需求沟通不充分。

您想要做的看起来像“共享浏览”或“跟我浏览”

有一些问题需要问:

  • 您想在安装或不安装某种浏览器插件或应用程序的情况下执行此操作吗
  • “共享浏览”仅在您开发的web应用程序上完成,还是需要浏览到无法添加代码的远程网站
如果可以修改web应用程序,则您可以拥有所有客户端:

  • 将他们执行的所有操作发送到服务器(#id1,单击)
  • 轮询服务器以获取需要触发的操作列表(jQuery(“#id1”)。单击()
如果只有一个客户机是“主客户机”,而所有其他客户机都是从客户机,那么同步每个客户机应该很容易

在多主机设置中,同步将稍微复杂一些,然后您可能会重新开发GoogleWave;-)

现在,如果你需要能够在任何网站上进行共享浏览,那就复杂多了。如果您的解决方案需要跨浏览器工作,则更为复杂。您需要为每个受支持的浏览器或所有受支持操作系统的本机应用程序开发扩展。我建议您寻找已经具备共享浏览功能的现有解决方案。您还可以查看VNC系列解决方案(完整桌面控制)

我希望这能帮助你


杰罗姆·瓦格纳

你知道这样做的原因是什么吗?我之所以这样问,是因为基于这样做的原因,可能会有不同的答案。是否要加载web服务器?是不是要建立一个投票网站?是否允许多个显示器显示相同的内容?所有这些都有不同的解决方案,IMO。你是控制其他浏览器正在访问的站点,还是试图在任意网站上实现它们的自动化?这是一个有趣的问题,因此+1是一个新问题。如果可能的话,我想知道。只要想想如果这是可能的话,可能会实现的潜在漏洞,我就会觉得很无聊。我不控制应用程序。我的客户将使用它发送多个库存订单。所以我想你可以把它和投票网站上的up vote做个比较。我同意提前获得req,我知道他们,我想我写下了我想要的。我不能确切地告诉我的客户想要做什么,但我认为我的问题很清楚,不知道他想要在哪个应用程序中单击按钮?他是想多次提交投票还是向stackoverflow发送多次评论,这有关系吗?我不知道你为什么质疑我的技术解决方案的必要性?一切都是允许的,所以如果我必须创建一个插件,让我从浏览器中获取事件,那没关系。不幸的是,我无法更改应用程序