从Web应用程序调用Windows应用程序

时间:2013-03-14 10:28:28

标签: asp.net c#-4.0 web-applications desktop-application

我想从Web应用程序调用Windows应用程序。 我试过下面的代码:

这里“AppA_VB”是我正在运行的桌面应用。 我有另一个网络应用程序,其中我添加了桌面应用程序的参考。 当我在我的本地电脑上运行网络应用程序时它工作正常,但它不是在发布后。

AppA_VB.Form1 appAform = new AppA_VB.Form1();             appAform.Show();

        var c = GetAll(appAform, typeof(System.Windows.Forms.TextBox));

        foreach (System.Windows.Forms.TextBox t in c)
        {
            if (t.TabIndex == 1)
            {
                t.Text = TxtName.Text;
            }
            if (t.TabIndex == 2)
            {
                t.Text = TxtAddress.Text;
            }

            if (t.TabIndex == 3)
            {
                t.Text = TxtStandards.Text;
            }
        }

        var b = GetAll(appAform, typeof(System.Windows.Forms.Button));

        foreach (System.Windows.Forms.Button btn in b)
        {
            if (btn.Text.ToString().ToLower() == "save")
            {
                btn.PerformClick();
            }
        }

我也试过这个,

System.Diagnostics.Process process1 = new System.Diagnostics.Process();

        process1.StartInfo.FileName = Convert.ToString(ConfigurationManager.AppSettings["ExePath"]);

        // Start the process 

        process1.Start();

发布后它也无法正常工作。

我错过了什么。 感谢。

2 个答案:

答案 0 :(得分:0)

(安装的应用程序文件夹)缺少正确的权限。我给了它,它工作正常。 :)

答案 1 :(得分:0)

您应该尝试使用ClickOnce部署,它允许您将基于Windows的应用程序发布到服务器。

试试这个:

System.Diagnostics.Process process1 = new System.Diagnostics.Process();
process1.StartInfo.FileName = Request.MApPath("yourFilePath.application");
process1.Start();