如何用C#实现这样一个技术(后续)?

canyangruxie 2009-02-11 04:00:00
原贴地址:如何用C#实现这样一个技术?

原帖各位的回答我已试过,基本可以,但是存在这样一个问题:
我的Windows程序是一个托盘程序,当把程序最小化到托盘后,再双击启动新的进程,不会弹出已启动进程的主窗口!
这是为什么?该怎样解决?
把程序实现成像微软的OutLook一样的效果,当把outlook最小化到托盘后,双击启动新的outlook时,弹出已启动的outlook的主窗口!
...全文
348 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
yulinlover 2009-07-15
  • 打赏
  • 举报
回复
昨天刚给别人解决的,去我的资源库下载吧,呵呵。
http://yulinlover.download.csdn.net/
canyangruxie 2009-03-13
  • 打赏
  • 举报
回复
http://www.builder.com.cn/2007/0907/495324.shtml
给出了完美的解决方法!
canyangruxie 2009-03-13
  • 打赏
  • 举报
回复
http://www.builder.com.cn/2007/0907/495324.shtml 给出了完美的解决方法!有兴趣的可以进去看一下,呵呵!
scy251147 2009-03-13
  • 打赏
  • 举报
回复
mark
canyangruxie 2009-03-13
  • 打赏
  • 举报
回复
我是菜鸟,我什么都不会,我在这一行业就是混饭吃的!
如果你技术强悍,把我的问题回答了先!
SlaughtChen 2009-02-24
  • 打赏
  • 举报
回复
路过
r_swordsman 2009-02-24
  • 打赏
  • 举报
回复
两个这么简单的平台功能也发帖问..一点技术含量都没..LZ什么都问?? 那你自己会什么?
kangbinoopp 2009-02-23
  • 打赏
  • 举报
回复
mark
人工智能算法 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sjzlxd 的回复:]
我这里找到了以前的例子, 我就告诉你原理, 你在程序里设置一个Timer类 监控程序中是否有自己同目录的程序在启动
如果有 则干掉对方 然后自己显示出来

因为隐藏在托盘的程序 用C#无法得到路径, 这样就无法判断了.


C# code
Process _this = System.Diagnostics.Process.GetCurrentProcess();//这个变量保存本程序的进程信息 保存为全局变量

System.Diagnostics.Process[] processOnComput…
[/Quote]

Process _this = System.Diagnostics.Process.GetCurrentProcess();//这个变量保存本程序的进程信息 保存为全局变量

这里 要在程序启动时保存为全局变量 保存本程序进程信息
人工智能算法 2009-02-23
  • 打赏
  • 举报
回复
我这里找到了以前的例子, 我就告诉你原理, 你在程序里设置一个Timer类 监控程序中是否有自己同目录的程序在启动
如果有 则干掉对方 然后自己显示出来

因为隐藏在托盘的程序 用C#无法得到路径, 这样就无法判断了.


Process _this = System.Diagnostics.Process.GetCurrentProcess();//这个变量保存本程序的进程信息 保存为全局变量

System.Diagnostics.Process[] processOnComputer = System.Diagnostics.Process.GetProcesses();
foreach (System.Diagnostics.Process p in processOnComputer)
{
if (p.MainWindowHandle != IntPtr.Zero && p.MainWindowTitle != "")//只检测有窗口的程序
{
try
{
if(_this.Id != p.Id && p.MainModule.FileName == _this.MainModule.FileName)//如果不是本进程
{
p.Kill();//干掉后启动的本程序
p.Close();
p.Dispose();
//这里写你自己的程序 把自己从托盘显示出来
}
}
catch (Exception ex)
{
}
}
}

人工智能算法 2009-02-23
  • 打赏
  • 举报
回复
关注~~
GabrielCNMao 2009-02-23
  • 打赏
  • 举报
回复
this.Show();
this.WindowState = FormWindowState.Normal;
在雙擊事件中加入上面的.
bingbingw 2009-02-23
  • 打赏
  • 举报
回复
点击托盘图标,,双击事件中添加自己需要的嘛

private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
if (showF)
{
this.Visible = true; showF = false;
}
else { this.Visible = false; this.notifyIcon1.Visible = true; showF = true; }
}
goonfighting 2009-02-23
  • 打赏
  • 举报
回复
持续关注
GS1T74wjwpg 2009-02-23
  • 打赏
  • 举报
回复
当你把它最小化时就让他隐藏
点击托盘时在现出来
yulinlover 2009-02-22
  • 打赏
  • 举报
回复
我的帖子没有用,楼主有意思,非得我把功能全给你写出来,你就认为有用了?要学会从现有知识变通啊!
brocades 2009-02-20
  • 打赏
  • 举报
回复
学习了
canyangruxie 2009-02-20
  • 打赏
  • 举报
回复
谢谢您的支持!可是,我看了你的贴子,跟我的问题没有一点关系!
哈哈潜伏哥 2009-02-16
  • 打赏
  • 举报
回复
学习各位的回复了,顺便支持楼主一下。
yulinlover 2009-02-15
  • 打赏
  • 举报
回复
http://blog.csdn.net/yulinlover/archive/2009/02/15/3893302.aspx
这是我最经用C#写出来的托盘信息获取的程序,我想一定能解决你的问题!有问题和我联系!
yulin.1298@163.com或linus_wang@kingdee.com,其他的及时通讯方式是不行的,公司内网是封闭的,呵呵!
加载更多回复(3)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧