2013-04-02 24 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

相關問題