请教:C#项目中隐藏显示窗体的问题 请问:c# 的解决方案中有两个项目,在一个项目中隐藏了一个窗体,在另一个项目中如何显示这个窗体呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是两个项目,一个项目A是主要界面,另一个项目B相当于一个伺服器,用来控制主要项目的显示退出、信息提醒等功能,并且开机自动运行等,A项目中的界面隐藏后,想要在B项目控制显示; B使用API->SendMessage发送特定消息给A, A在收到消息时再控制窗体界面是否显示就OK... B使用API-> SendMessage发送特定消息给A, A在收到消息时再控制窗体界面是否显示就OK... 具体怎么实现呢? 两个项目都是客户端的!B项目开机时运行,在B项目中点登录,A项目运行,当A项目退出后B项目依然运行 B:System.Diagnostics.Process.Start("A.exe");Application.Exit();A:System.Diagnostics.Process.Start("B.exe");Application.Exit();放在x.designer.cs里的protected override void Dispose(bool disposing){}里不知道是不是你要的结果 B项目是不允许退出的,相当于一个服务,B项目本来准备用服务 和notifyIcon来实现的可是服务没有窗体,加入notifyIcon后托盘不能显示,所以B项目改为用window项目,但隐藏了窗体,只显示托盘. 实际上你想要的就是进程间通信。方法有很多种。可以用 Process.GetProcessesByName 跟据EXE文件名(不含.exe后缀)获得一个A进程,然后调用它的 MainWindowHandle例如: public static void ActiveWindow() { Process [] proc = Process.GetProcessesByName("A"); foreach (Process p in proc) { SetForegroundWindow(p.MainWindowHandle); } }其中: // 用于激活已打开的窗体 [DllImport("user32.dll")] public static extern void SetForegroundWindow(IntPtr hwnd); 不做成一个项目的原因就是,A项目占用系统资源较多,B项目占很少的资源,且A项目可以不运行,但B项目必须运行,相当于一个服务,所以让B项目单独出来,这样可以让系统占用较少的资源而且可以实时提供一个简单的服务 SetForegroundWindow(p.MainWindowHandle); 中MainWindowHandle为0 哈哈,问题已经解决了,谢谢大家的提醒!实现方法如下:用在B项目中用sendMessage发送消息,在A项目中获取该消息,根据获取的消息显示窗体!具体实现的链接:http://lee.bloghome.cn/posts/4027.html 有会用ClipsNET.dll的吗 未能找到XX列 xtrareport问题 谁能推荐几本学习Arx.net的好书呀? 抠图的问题 演示项目 如何将word存入oracle的clob字段,并且能够取出? 怎样防止一个winform窗体重复打开? [SOS]C#中正则表达式里引号如何表示 C#中WINFORM中DataGrid中添加ComboBOx控件怎么实现?要源程序 小测试:Max() 写的一个监控端口获得数据的,但是每各一段时间就不监控了,请问该怎么搞``哪的问题哦``
具体怎么实现呢?
System.Diagnostics.Process.Start("A.exe");
Application.Exit();A:
System.Diagnostics.Process.Start("B.exe");
Application.Exit();放在x.designer.cs里的protected override void Dispose(bool disposing){}里
不知道是不是你要的结果
{
Process [] proc = Process.GetProcessesByName("A"); foreach (Process p in proc)
{
SetForegroundWindow(p.MainWindowHandle);
}
}其中:
// 用于激活已打开的窗体
[DllImport("user32.dll")]
public static extern void SetForegroundWindow(IntPtr hwnd);
实现方法如下:用在B项目中用sendMessage发送消息,在A项目中获取该消息,根据获取的消息显示窗体!
具体实现的链接:http://lee.bloghome.cn/posts/4027.html