0

我有一个 Asp.NET Web 应用程序。在本地运行时,我可以在我的应用程序中调用和运行 Teamviewer。

我有一个呼叫类并运行 TeamViewer。

class CallTeamViewer {      
    public static string TeamViewerPath = "";
    public static void FindTeamViewerPath ()  {
        if (File.Exists(@"C:\Program Files\TeamViewer\Version7\teamviewer.exe")) {  
            TeamViewerPath = @"C:\Program Files\TeamViewer\Version7\teamviewer.exe";
        }
        if (File.Exists(@"C:\PROGRAM FILES (X86)\TeamViewer\Version8\teamviewer.exe")){ 
            TeamViewerPath = @"C:\PROGRAM FILES (X86)\TeamViewer\Version8\teamviewer.exe";
        }
    }
    public static void ConnectAndRunTeamViewer(string TamViewerId, string TeamViewerPass) {
        CallTeamViewer.FindTeamViewerPath();
        if(TeamViewerPath.Length > 0) { 
            string parameter;
            parameter = " -i " + TamViewerId+ " --Password " + TeamViewerPass+ "";
            System.Diagnostics.Process.Start(TeamViewerPath,parameter);
        }
    }
}

我在 aspx 页面上有 2 个文本框和 1 个按钮

连接.aspx.cs

protected void btnConnect_Click(object sender, EventArgs e) {
    CallTeamViewer.ConnectAndRunTeamViewer(txtTeamviewerID.Text,txtTeamviewerPass.Text); 
}

此类适用于本地。它可以在我的电脑中找到 Teamviewer 的路径。

我的问题:如何更改我的班级以查找客户端用户的 Teamviewer 路径?

4

3 回答 3

3

似乎对 Web 的工作方式存在误解 :) 您需要在客户端运行某些东西 - 而不是在服务器端。ASP.NET 只在服务器端执行(并且只传回浏览器解释的 html 标记)。对于这种工作,您需要一个胖客户端 - 请参阅@Damien_The_Unbeliever 关于安全性的评论 - 哈哈顺便说一句。由于您已经在 .NET 世界中,我建议使用 ClickOnce(.NET 技术允许您一键从 Web url 安装应用程序 - 前提是您的客户安装了 .NET 框架)并制作将执行“厚客户端”的工作给你。

于 2014-06-20T13:05:51.817 回答
1

可能的,但您仍然需要在客户端机器上运行可执行文件或 .reg 文件来注册协议处理程序。

这些类型的应用程序(例如,uTorrent 和磁力链接等)通常定义一个 URI 方案并在客户端计算机上注册一个协议处理程序。

例如,这是一个磁力链接的示例 URI:

magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C

然后,您的 ASP.NET 应用程序可以将用户重定向到这样的 URI,操作系统会注意到与该 URI 相关联的协议并询问用户是否要启动该应用程序。

看:

  1. 创建链接以启动 TeamViewer
  2. 将应用程序注册到 URI 方案
  3. 如何在 Windows 上添加自定义 url 处理程序。喜欢 iTunes itms://
于 2014-06-23T09:39:53.980 回答
0

我会为用户制作一些设置页面,她/他可以将 TeamViewer 的路径添加到 cookie/数据库中。希望能帮助到你!

于 2014-06-20T13:03:09.283 回答