| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1702 人关注过本帖
标题:怎么设定...程序运行时.在点一次exe文件..跳出对话框
只看楼主 加入收藏
uatoily
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:6 
怎么设定...程序运行时.在点一次exe文件..跳出对话框

就是设定一个程序不能同时运行个以上...最多一个

搜索更多相关主题的帖子: 对话框 exe 文件 运行 
2007-04-21 11:20
xufengtang
Rank: 1
等 级:新手上路
威 望:1
帖 子:89
专家分:0
注 册:2006-5-7
收藏
得分:0 
我有个办法但可能不是最好的,
你可以写一个配置文件,
程序运行的时候,就向其写记录,程序关闭时候就要清除记录

程序运行开始先判断文件中到底有没有记录,如果有记录就弹出对话框说:"程序已经启动",并关闭窗体;如果没有记录就执行我上面说的那步操作.

2007-04-21 11:37
uatoily
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-6
收藏
得分:0 

楼上的我..不是啊...我也是这么做...可是还是会跳出那个程序...
if(File.Exits(1.txt))
MessageBox.Show("程序已经运行");
可是还是会运行-_#。。。怎么设置对话框后直接关掉程序?

要是写上this.Close(); 用Application.Exit()
好象运行第2次的时候会错啊;

[此贴子已经被作者于2007-4-21 17:42:26编辑过]

2007-04-21 17:36
uatoily
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-6
收藏
得分:0 
谢谢2楼的....原来是我错了..用Aplication.Exit()是可以的...
把File.Exits(1.txt)放到Closing中不是CLose中谢谢啦
2007-04-21 17:45
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用uatoily在2007-4-21 11:20:38的发言:

就是设定一个程序不能同时运行个以上...最多一个

在program.cs中按以下内容更改,
static void Main()
{
bool bExist;
Mutex MyMutex = new Mutex(true, "OnlyRunOncetime", out bExist);
if(bExist)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());//你的主窗口
MyMutex.ReleaseMutex();
}
else
{
MessageBox.Show("程序已经运行!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}


这样改了以后,同一个程序只能打开一个


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-04-21 18:34
张可可
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-11-7
收藏
得分:0 
楼上的说的很好,我用 了,别的方法好像都不行
2008-11-12 11:17
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
晕倒,用那种土办法啊~~
给你一个代码自己去研究:
private void RunningInstance()           //判断程序是否重复运行的方法
        {
            Process current = Process.GetCurrentProcess();
            Process[] processes = Process.GetProcessesByName(current.ProcessName);
            //查找相同名称的进程
            foreach (Process process in processes)
            {
                //忽略当前进程
                if (process.Id != current.Id)
                {
                    //确认相同进程的程序运行位置是否一样.
                    if (System.Reflection.Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
                    {
                        //Return the other process instance.
                        MessageBox.Show("程序已经在运行了,本系统不允许运行多个实例!", "图书馆管理系统", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        this.Close();
                    }
                }
            }
            //No other instance was found, return null.            

        }

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2008-11-18 13:03
快速回复:怎么设定...程序运行时.在点一次exe文件..跳出对话框
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019524 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved