我现在可以在VS2005下调试带参数运行一切正常!
不过当我放到注册表里面进行带数启动的时候则不行了。 
这是 Program的代码
            MessageBox.Show("成功");//运行到这里了,
            Application.Run(new qqMain(log.myPort, log.isOnLine, isDisForm));//forMain
            MessageBox.Show("8888");
这是主窗体的代码:
        public qqMain(opCom _myPort, bool _isOnLine,bool  _isDisForm)
        {
            MessageBox.Show("99");
            InitializeComponent();            try
            {
                //初始化托盘程序的各个要素
                Initializenotifyicon();                myPort = _myPort;                this.isOnLine = _isOnLine;                this.isDisForm = _isDisForm;                //this.Visible = isDisForm;
                if (this.isDisForm)
                {
                    this.WindowState = FormWindowState.Normal;
                }
                else
                {
                    this.WindowState = FormWindowState.Minimized;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("有错了"+ex.Message);
            }
            MessageBox.Show("完成了");
        }这知道 这什么,那个“99”没有给弹出来!

解决方案 »

  1.   

    说明一下,在调试状态下代码运行一些正常,可以我把它设置到注册里启动的时候就不行了。我的注册表是这样子的。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    E:\zhouweilin\zszdx\MyPduUn\MyPduUn\bin\Debug\mypduun.exe 1
    不知是那里出错了
      

  2.   

    应该带%吧,
    E:\zhouweilin\zszdx\MyPduUn\MyPduUn\bin\Debug\mypduun.exe %1
      

  3.   

    呵呵,我知道了。我在
    Application.Run(new qqMain(log.myPort, log.isOnLine, isDisForm));//forMain
    里面加了一个try catch的语句,就明白了,呵呵是出异常了,
     try
                {
                    Application.Run(new qqMain(log.myPort, log.isOnLine, isDisForm));//forMain
                }
                catch (Exception ex)
                {
                    MyTools.messageBoxByOk("主程序启动时出错!请重新安装本系统。");
                }
    出错的就是这一句
    private Icon mNetTrayIcon = new Icon("login.ico");
    我不明白他从注册表里开始带参数进行启动的时候他找不到文件login.ico所有就出错了我不明白他为什么不带参数的时候又可以的呢,难道在注册表里面带参数与不带参数启动的默认路径不一样吗?
    这个问题还有得去思考、、、、、、
      

  4.   

    private Icon mNetTrayIcon = new Icon("login.ico");
    为什么从注册表运行的时候,他会去C盘我的文档下去找login.ico这个文件呢,不过我直接在“运行”框里面输入“E:\zhouweilin\zszdx\MyPduUn\MyPduUn\bin\Debug\mypduun.exe 123”
    又可以正常运行呢,他又能够从我的项目文件夹下去找到login.ico文件呢,
    请高手们分析一下吧!