可以使用互斥体Mutex类型完成此功能。见如下代码:
    [STAThread]
    public static void Main(string[] args) 
    {
         //声明互斥体。
         Mutex mutex = new Mutex(false, "ThisShouldOnlyRunOnce");
         //判断互斥体是否使用中。
         bool Running = !mutex.WaitOne(0, false);
         if (! Running)
             Application.Run(new FormLogin());
         else
             MessageBox.Show("应用程序已经启动!");
    }

解决方案 »

  1.   

    一:请问该怎样在程序运行时先检测是否已经运行该程序(防止同一程序多次被运行)
    二:怎样将一个字符串写入文本文件,每次在该文本文件后面写(做日志文件用)
    三:还有一个正则表达式该怎样写? XX。XX(X代表数字)请给出源码,非常感谢!
      

  2.   

    1、可以通过线程和一个自定义数组来判断。
    2、
             //错误信息
    string strMsg;
    strMsg = "[" + DateTime.Now.ToString() + "]" + " [" + ex.Position +"]"+ ex.Message ;
    System.Diagnostics.Debug.WriteLine(strMsg);
    System.Diagnostics.Debug.Flush();
    建议:从ApplicationException派生,自己定义一个异常类。
    public class JcException : ApplicationException
    {
    public JcException()
    {
    // TODO: implement
    } public JcException(string position)
    {
    this.Position = position;
    } public JcException(string position, string message) : base(message)
    {
    this.Position = position;
    }
    public JcException(string position, string message,Exception inner):base (message,inner)
    {
    this.Position = position;
    }
      
    /// 抛出异常的位置代码
    public string Position;
       
    public override string ToString()
    {
    return string.Format("{0}\n{1}", this.Position , base.ToString());
    } }