首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么检测程序是在开发环境还是用户运行环境

2013-07-16 
如何检测程序是在开发环境还是用户运行环境这里不是指用户控件中检测是用于开发环境还是用户运行环境,而是

如何检测程序是在开发环境还是用户运行环境
这里不是指用户控件中检测是用于开发环境还是用户运行环境,而是指“程序”

比如我希望程序在Main运行时,检测如果是开发环境,就不显示用户登录窗口,直接进入主界面。如果是用户运行环境,就显示用户登录窗口。

原来在VB中,可以用如下代码实现:
  If GetModuleHandle("VB6.EXE") = 0 Then
    bRunInVB6 = False
  Else
    bRunInVB6 = True
  End If

到了VS2008,我用以下方法不成功
  static class Program
  {
// API声明
    [System.Runtime.InteropServices.DllImport("kernel32.dll")]
    public static extern IntPtr GetModuleHandle(string name);
    
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main()
    {
//以下我加入的代码
      if (GetModuleHandle("devenv.exe").ToInt32() == 0)
      {
        MessageBox.Show("显示用户登录界面!");
      }
      else
      {
        MessageBox.Show("跳过!");
      }
//结束

      Application.EnableVisualStyles();
      Application.SetCompatibleTextRenderingDefault(false);
      Application.Run(new Form1());
    }
  }

[解决办法]
做成配置文件,可以配置是否显示登陆窗口
如果判断的话,调试的时候应该会启动宿主程序“***.vshost.exe”

热点排行