求助:能在web中运行winform的应用程序吗?
小弟毕业设计作了一个程序。前台是asp.net的web页面,能在数据库中修改数据。后台用vb.net作了一个winform的程序,从数据库中读出数据计算后再把结果存入数据库,前台页面上能显示出结果。现在两个部分都做好了,我该如何实现在web页中触发winform的运行哪?各位达人帮帮忙吧,快要答辩了再作不出来我就麻烦了!!在线等!! 问题点数:100、回复次数:27Top
1 楼mmplay()回复于 2005-05-30 10:34:27 得分 0
upTop
2 楼LXZ123ok(LXZ)回复于 2005-05-30 10:39:52 得分 0
使用 WebService 交互Top
3 楼cabxyz(cab)回复于 2005-05-30 10:40:53 得分 0
这样即麻烦 为什么不直接在web中实现计算呢?还绕那么大圈Top
4 楼renyu732(Sysinfo)回复于 2005-05-30 10:42:30 得分 0
是啊.你最好还是都用web窗体吧.Top
5 楼lr2651(戎 The Two Towers)回复于 2005-05-30 10:46:07 得分 0
建议直接在Web环境下设计,WebService可以解决但挺麻烦Top
6 楼iuhxq(小灰)回复于 2005-05-30 10:49:06 得分 0
webform里轮循数据库吧。挺占资源的Top
7 楼yistudio(阳光灿烂的日子)回复于 2005-05-30 10:53:28 得分 0
做成dll组件好了,应该可以运行,但即使运行了winform程序,客户端也无法看到界面Top
8 楼yybb520(bbyy)回复于 2005-05-30 10:58:41 得分 0
这样即麻烦 为什么不直接在web中实现计算呢?还绕那么大圈
我支持,
在B/S下调用C/S没有必要,我个人觉得别找麻烦了!Top
9 楼mmplay()回复于 2005-05-30 11:01:05 得分 0
教授要求必须分成两部分,不能直接在web实现。现在winform都做好了,运行很正常。我也想作成dll,可是不会做。哪位可以指点一下。主要是时间快到了,我急啊!!Top
10 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-05-30 11:04:14 得分 0
稍加改动就可Top
11 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2005-05-30 11:09:38 得分 0
可以的,你可以后台调用WIN程序,给你代码看看Top
12 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2005-05-30 11:10:18 得分 50
Private Function RunCmd(ByVal strCmd As String) As String
Dim rInfo As String
Try
Dim myProcess As Process
Dim myStreamReader As StreamReader
Dim myProcessStartInfo As ProcessStartInfo
myProcess = New Process
myProcessStartInfo = New ProcessStartInfo("cmd.exe")
myProcessStartInfo.UseShellExecute = False
myProcessStartInfo.RedirectStandardOutput = True
myProcess.StartInfo = myProcessStartInfo
myProcessStartInfo.Arguments = "/c " + strCmd
myProcess.Start()
myStreamReader = myProcess.StandardOutput
rInfo = myStreamReader.ReadToEnd()
myProcess.Close()
rInfo = strCmd + "\r\n" + rInfo
Response.Write(rInfo)
Return rInfo
Catch ex As Exception
End Try
End FunctionTop
13 楼mmplay()回复于 2005-05-30 11:11:15 得分 0
不会啊,我哭。
哪位行行好,给各简单的例子吧,这方面的信息我着不到!Top
14 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2005-05-30 11:11:55 得分 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call RunCmd("F:/abc.exe")
End SubTop
15 楼mmplay()回复于 2005-05-30 12:25:27 得分 0
这个方法就是我要的,但是试过了好象不行,一运行就长时间没有反应.Top
16 楼brando_beat(Eの懒龙)回复于 2005-05-30 12:40:49 得分 0
不是没有反应,你去进程里面看看,运行着呢,
这种情况我早就试过了Top
17 楼fayewang(飞狐)回复于 2005-05-30 12:55:37 得分 50
要不要全的我有调用WIN程序的。
public class RunExe
{
/// <summary>
/// 运行外部程序
/// </summary>
/// <param name="exeName">程序路径</param>
/// <returns>0:失败,1:成功</returns>
public bool RunIt( string exeName )
{
//声明一个程序信息类
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
//设置外部程序名
Info.FileName = exeName;
//声明一个程序类
try
{
System.Diagnostics.Process Proc ;
Proc = System.Diagnostics.Process.Start(Info);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 判断是否运行
/// </summary>
/// <param name="exeName">程序名</param>
/// <returns>0:没运行,1:运行中</returns>
public bool IsRun( string exeName )
{
string isrunning = "0";
Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{
if ( myProcess.ProcessName == exeName )
{
isrunning = "1";
break;
}
}
if ( isrunning == "1" )
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 结束进程
/// </summary>
/// <param name="exeName">进程名</param>
/// <returns>0:失败,1:成功</returns>
public bool Kill( string exeName )
{
string isrunning = "0";
Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{
if ( myProcess.ProcessName == exeName )
{
try
{
myProcess.Kill();
isrunning = "1";
}
catch
{
isrunning = "0";
}
break;
}
}
if ( isrunning == "1" )
{
return true;
}
else
{
return false;
}
}
}Top
18 楼mmplay()回复于 2005-05-30 12:57:23 得分 0
那有办法解决吗?我总要有个反应,否则我怎么在答辩的时候演示哪?Top
19 楼fayewang(飞狐)回复于 2005-05-30 12:57:25 得分 0
注意的是,如果在Web下运行Win程序,你得写一个死循环了,作用是判断进程是否还在运行!如果没有运行就执行其它的!!!Top
20 楼mmplay()回复于 2005-05-30 13:00:00 得分 0
谢谢fayewang(飞狐) ,有没有vb.net的啊?我是用vb的,c#不会啊,不好意思!Top
21 楼Truly()回复于 2005-05-30 13:01:31 得分 0
可以Top
22 楼mmplay()回复于 2005-05-30 13:14:09 得分 0
upTop
23 楼fayewang(飞狐)回复于 2005-05-30 13:18:53 得分 0
找网站翻译一下!!Top
24 楼ghostboy1020(买女孩的小火柴)回复于 2005-05-30 13:22:33 得分 0
个人觉得webservice很好用的说Top
25 楼mmplay()回复于 2005-05-30 13:40:46 得分 0
upTop
26 楼zeusvenus()回复于 2005-05-30 14:07:35 得分 0
VB.NET和C#代码可以相互转换的,楼上方法可行!Top
27 楼foolnet(foolnet)回复于 2005-05-30 14:16:44 得分 0
按照你思路
运行.net winform必须有框架
客户使用ie怎么会有框架呢
所以不能
再找其他方法Top




