2016-08-03 103 views
-1

我需要創建一個在後臺運行的應用程序。VB.NET後臺應用程序

我試圖在啓動時隱藏它: Me.Hide。 它沒有奏效,tho。

我現在的問題是如何製作一個以管理員身份運行的VB.NET應用程序,並且在用戶不知道它的情況下隱藏。

謝謝你的時間。

+1

不要將表單隱藏在Load事件中,它甚至沒有開始顯示。訂閱「Shown」事件並將其隱藏在那裏。 - 但RoyalPotato的解決方案將是最好的解決方案。 –

+1

'我如何製作一個以管理員身份運行的VB.NET應用程序,並且在用戶不知道它的情況下隱藏。「 - 試圖製作一個病毒,艾? –

+1

大聲笑,或者他可能只是不想處理那些愚蠢的提示Windows一直嘔吐xD – RoyalPotato

回答

3

我假設你使用的是Windows Forms,因爲你說過「我試圖在啓動時隱藏它,Me.Hide。沒有解決,tho。」

這其實很簡單。直到你想要的時候才顯示錶單。 爲此,我會在項目屬性中禁用Enable Application Framework選項。 (見https://msdn.microsoft.com/en-us/library/tzdks800.aspx,我提到的選項在某處)。

然後,在您的項目中創建一個新類(或者您可以使用一個模塊)並將其命名爲「Program」。這個名字並不重要,但通常它通常是「程序」。

在此課程中創建着名的「主」程序。這個函數有幾個可用的簽名。

  1. 最簡單的是簡單:Public Shared Sub Main()
  2. 或者,也可以接收命令行參數:​​
  3. 重複1,但爲返回一個32位帶符號整數的函數。
  4. 重複2,但作爲函數返回一個32位有符號整數。

在'Main'函數末尾返回一個整數的意思是返回一個退出代碼,指定是否一切都「OK」。如果一切正常,並且出現錯誤代碼或指定錯誤的東西,則通常返回0。

將項目的「啓動對象」設置爲新類。

最後,如果您想要顯示錶單,只需實例化一個類型爲您的窗體並顯示它的對象。

Dim form As New Form1() form.Show()

和往常一樣,處置形式,當你用它做。

+2

如果你不會寫這麼早,我會有:)。這是IMO的最佳解決方案,因爲它仍然允許您的應用程序與用戶的桌面進行交互(這與Windows服務之間的一個重要區別)。 - 但要注意一點:在顯示第一個窗體時,應該調用'Application。運行(新Form1)',而不是讓你的應用程序進入一個消息循環(否則它只會退出,我想)。 –

+1

啊,是的,我完全忘了Application.Run!每個人都會像Visual Vincent說的那樣,在展示第一個表單時調用Application.Run。請注意,儘管如此(我確信Visual Vincent只是將它作爲示例),但您可能希望也可能不希望將表單對象創建爲參數。如果你這樣做,那麼你不能明確地處理它。這取決於對你想要/需要/已經習慣的這種事物有多少控制,這對你來說可能重要也可能不重要。 – RoyalPotato

+1

啊,謝謝。但是你是否也知道如何讓它以管理員身份運行。我會很高興知道!你是我的英雄;) – Rootel