2013-05-31 98 views
0

我有一個問題,我試圖弄清楚。我希望有人能夠幫助我。Windows窗體應用程序作爲服務

我有一個Windows窗體應用程序,當用戶啓動程序時有一個啓動窗體。這很好地工作,用戶希望在交互模式下使用此功能。

我被要求在這個Windows窗體應用程序中包含一些代碼,並將此代碼作爲服務運行。我正在編寫的這段代碼沒有用戶界面,它只是接受來自命令行的信息並相應地進行處理。

我發現的棘手部分是運行我的代碼,存在於此Windows窗體應用程序中。

在項目屬性 - >應用程序 - >啓動窗體中它表示Form1,這是它運行應用程序時啓動的內容。

有沒有辦法通過代碼或命令行或某種方式「繞過這個」,以便如果我從命令行運行該程序,它將訪問並運行我的代碼而不啓動此Form1?

感謝

+0

你需要一個非常不同的程序結構作爲服務運行。最好先開始一個* new *項目,使用「Windows Service」項目模板,這樣你就可以很好地開始正確使用。 –

回答

0

你可以做的是設置您的形式Opacity屬性設置爲0,並設置您的形式ShowInTaskbar屬性爲假,那麼如果你的程序正常啓動,然後加載窗體時,設置Opacity 100和ShowInTaskbar爲真,否則保持原樣。

例,

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load 
    If Environment.GetCommandLineArgs.Count > 1 Then 
     Me.Opacity = 100 
     Me.ShowInTaskbar = True 
    Else 
     'Code to deal with commandline arguments... 
    End If 
End Sub 
相關問題