2013-04-02 31 views
0

我在使用Windows窗体的C#中有一个应用程序。我的应用程序运行正常,但是当我想通过使用计划任务的OS(Windows 7)启动它时,它不会加载Form1_load方法。我怎么能解决这个问题?当由计划任务启动时,应用程序不执行Form1_load方法

这里是Form1_Load方法的主体:

private void Form1_Load(object sender, EventArgs e) 
    { 
     try 
     { 

      bool fResult = false; 
      fResult = registerDeviceNotification(); 
      g_oGeneratorManager = new CGeneratorManager(); 
      if (true != fResult) 
      { 
       Debug.WriteLine("Register device notification failed"); 
       MessageBox.Show("Register device notification failed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 

      lblStatus.Text = "Running"; 
     } 
     catch (Exception ex) 
     { 
      this.Visible = false; 
      CLog.Err(ex.Message); 
      MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      Application.Exit(); 
     } 
    } 
+0

专业提示,不要把问题标题内的标签。标签显示为问题的一部分,因此是多余的。你在使用什么操作系统?该计划是否复杂?我们可以看到“Form_Load”方法中的内容吗? – Arran

+0

不会抛出异常? –

+0

您的操作系统是64位版本吗? – Steve

回答

0

任务调度器是意味着执行命令状或控制台应用程序,而无需用户界面。

分裂出来的代码,你打算下任务调度程序执行,并包裹你创建UI 2个独立的项目下(DLL)

然后这些代码: 第一是现有的WinForm的,但你改变了代码重用该DLL。 第二个项目是控制台应用程序,与winform类似的方法,重用dll逻辑。

现在使用任务调度程序的控制台应用程序。

+0

也许改变窗体到MessageWindow? – user1042800

相关问题