2012-07-07 62 views
0

我在我的項目中有一個文件。該文件被其他一些項目使用。我想使用控制檯項目的控制檯和Messagebox for Windows應用程序項目在此文件中顯示一些消息。所以,我想以編程方式瞭解項目類型。可以有人說如何實現這個目標?如何以編程方式知道項目類型?

注意:該文件是C#語言。

編輯: 大衛的答案是我必須遵循的方式。但是,目前我們接近發佈日期。所以,我需要使用項目類型作爲臨時解決方案。有什麼辦法嗎?

如果有一個主窗口,如果不是你必須在一個控制檯應用程序
+3

這聽起來像一個設計問題的代碼,誠實。通用代碼不應以任何方式與應用程序實現耦合。它應該只是生成消息本身(我假設一個字符串),然後應用程序特定的代碼應該處理實際顯示它。 – David 2012-07-07 09:51:09

+0

@David異常處理怎麼樣 – prabhakaran 2012-07-07 09:53:51

+0

什麼_about_它?您仍然可以在代碼中的任何位置捕獲和處理異常。是什麼讓你覺得你不能? – David 2012-07-07 09:54:44

回答

0

測試:

if (Process.GetCurrentProcess().MainWindowHandle == IntPtr.Zero) 
{ 
    Console.WriteLine(...); 
} 
else 
{ 
    // Your Message box code 
    .... 
} 
+0

這個問題也是[辯論] [這裏](http://stackoverflow.com/questions/6408588/how-to-tell-if-there-is-a-console) – 2012-07-07 12:02:56

+0

或者Windows NT服務或類庫。 .... – 2012-07-07 12:31:48

+0

確定它不會區分NT服務中的無窗口應用程序,但問題是關於控制檯應用程序或窗口應用程序。 – 2012-07-07 13:54:26

相關問題