2

我正在尝试使用 activeX 从我的 ASP.net 网站启动用 C# 编写的 Windows 窗体应用程序。当我单击一个按钮时,我希望打开一个新页面,并且该页面上的 activeX 将调用我的 Windows 应用程序。

我正在使用 Visual Studio 2010。我遵循了本教程:http ://dotnetslackers.com/articles/csharp/WritingAnActiveXControlInCSharp.aspx

但是,该教程仅适用于您通过控制台编译的 1 个 C# 文件。

我的问题如下:

1.如何编译整个 windows 窗体项目以使用 /t:library 和 regasm?

2.我已经按照这个问题的答案来修改我的 Windows 窗体应用程序:如何在 C# 中创建 ActiveX 控件 (COM)?. 但是,就像在这两个示例中一样,它们没有 Main 方法。当我尝试修改 Windows 窗体应用程序的代码时,如果我将其取出并用 Launch() 方法替换它,我会收到错误消息,指出程序没有用于进入的 Main 方法。我确定我错过了什么?

3.我是否只需要在新的.aspx 页面上编写java 脚本来访问应用程序?

PS我正在尝试打开这个开源Windows窗体应用程序:http: //www.codeproject.com/Articles/239849/Multiple-face-detection-and-recognition-in-real-ti

非常感谢你

4

3 回答 3

0

你不能这样做。允许网站在某些沙盒环境(例如 JavaScript)之外的本地机器上执行任意代码将是巨大的安全风险。

AFAIK 最接近您想要的是ClickOnce,它是一个安装程序,并使用它在客户端计算机上安装您的 WinForms 应用程序。项目安装很简单,在VS中右键发布即可。

于 2012-05-04T21:18:06.713 回答
0

您可以使用一种称为 ClickOnce 的解决方案。

http://msdn.microsoft.com/en-us/library/t71a733d%28v=vs.100%29.aspx

我创建了企业应用程序,将其部署到可访问 Internet 的位置,并将我的用户链接到允许他们单击、安装和运行应用程序的“发布”网站。

请记住,除了运行应用程序之外,这还会安装应用程序,因此如果您的部分要求是不安装它,那么 ClickOnce 将不适用于您的方案。

于 2012-05-05T01:47:42.010 回答
0

我建议您可以创建 ActiveX 控件而不是 Windows 窗体。您可以使用旧版 VB (VB 6.0) 创建它。你可以参考类似的东西

于 2012-05-05T01:41:16.400 回答