webform如何调用winform? 并且传参给winform ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用.NET Framework中的Process类添加引用using System.Diagnostics;在按钮的单击事件处理程序中填入以下代码:Process process = newProcess(); process.StartInfo.FileName = "c:\\windows\\notepad.exe";//文件名必须加后缀。 process.Start(); 1.webbrowser 最简单2.或者winform里socket监听某端口 webform 发送这个端口请求 复杂3.扩展名挂钩》 webform打开指定扩展名的文件 winform处理 不是实时的 需要用户参与 看这里 http://hi.baidu.com/wzwahl36/item/3206750e6e233394a3df4384 我的意思是 网页调用 winform 那你可能要的是 activex控件 支付宝 网银那些 看这里:http://hi.baidu.com/wzwahl36/item/3206750e6e233394a3df4384 http://www.cnblogs.com/yjmyzz/archive/2009/12/14/1623396.html ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName =@"D:\aaa\Updater.exe"; startInfo.WindowStyle = ProcessWindowStyle.Normal; startInfo.Arguments = "123123";//要传的参数 Process.Start(startInfo);Program.cs文件中设置如下 static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); string version = null; if (args != null && args.Length > 0) { version = args[0]; } Application.Run(new AppUpdater(version)); } /// <summary> /// 窗体构造函数 /// </summary> public Updater(string Parameter) { InitializeComponent(); } 很久以前看到过一个浏览器插件,叫cdlaunch,与LZ的要求蛮适合的。它的思路是:1 安装插件时自动关联.cde后缀的文件类型2 服务器端,网页里对应打开本地exe的超链接的a href指向一个.cde文件3 这个.cde是纯文本,内容为 c:\windows\notepad.exe,也可以再跟参数,就像用cmd一样4 当浏览读取到.cde类型的文件时,插件开始工作。读取文件内容并调用它。 这个基本就属于病毒行为了。你想想 你的winform程序一定是一个可执行程序 那么如果浏览器可以任意启动你机器上的可执行程序 并传递参数的话 那么~~~~我启动一个ftp.exe然后让他下载我的一个病毒 然后执行 然后可以做任何事 所以这种行为非常危险 你的客户未必敢用 可以用ClickOnce,客户机需要装.Net 2.0以上版本并且使用IE。如果客户端有java的话也可以用Java Web Start 本帖最后由 net_lover 于 2012-07-24 09:19:21 编辑 <a target=blank href=tencent://message/?qq=777>很古老的一种方式 写Activex控件,调用api(Shell或ShelExcute)打开winform程序,要操作winform的话可以先找到(FindWindowEx函数)窗口句柄,再找到你的winform那个控件句柄(FindWindowEx函数),然后向消息队列发消息(SendMessage或PostMessage)。只要你懂调用操作系统的api就可以完成,我用过它来操作IE 我知道我们公司有个项目是这个样子的不过我没做而且还是java的调用winform DialogResult问题 关于OnPaint方法 怎么把本地路径转换为服务器路径? 如何调用这段C++编写的DLL中一个函数? 关于TabControl的问题 DataGridView单元格如何退出编辑模式? 如何在上次关闭位置启动程序窗体 求救 :winform中的textBox中如何控制只能输入数值类型,不能输入其他字符? 如何让textbox的内容处于被修改状态 如何安装ADO.net 如何在Gridview中某一列所有数据行都加入空格 c# 应用程序运行环境
在按钮的单击事件处理程序中填入以下代码:
Process process = newProcess();
process.StartInfo.FileName = "c:\\windows\\notepad.exe";//文件名必须加后缀。
process.Start();
startInfo.FileName =@"D:\aaa\Updater.exe";
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = "123123";//要传的参数
Process.Start(startInfo);Program.cs文件中设置如下
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string version = null;
if (args != null && args.Length > 0)
{
version = args[0];
}
Application.Run(new AppUpdater(version));
}
/// 窗体构造函数
/// </summary>
public Updater(string Parameter)
{
InitializeComponent();
}
2 服务器端,网页里对应打开本地exe的超链接的a href指向一个.cde文件
3 这个.cde是纯文本,内容为 c:\windows\notepad.exe,也可以再跟参数,就像用cmd一样
4 当浏览读取到.cde类型的文件时,插件开始工作。读取文件内容并调用它。
很古老的一种方式
要操作winform的话可以先找到(FindWindowEx函数)窗口句柄,再找到你的winform那个控件句柄(FindWindowEx函数),然后向消息队列发消息(SendMessage或PostMessage)。
只要你懂调用操作系统的api就可以完成,我用过它来操作IE