2013-02-09 75 views
0

我很新的VB.NET,並且最近下載了MS Visual Studio Express 2012.我試圖設計一個應用程序來替換我創建的VBScript並且無法找到我需要的兩個主要設計階段特徵的答案,所以我提前爲我的無知道歉。當運行/ q參數時,VB .NET運行時沒有窗體,也沒有UAC

我試圖創建一個應用程序來編輯我支持的現有應用程序的配置參數。配置在文件系統和Windows註冊表中都被編輯。

我正在尋找一種方法來傳遞「/ q」或「/ quiet」,並允許應用程序無聲運行。我已經開發出足夠多的程序來編輯表單中的選項並保存它們。我可以從「Windows窗體應用程序」的開始配置按鈕運行代碼(到目前爲止只有顯示選項的消息)。

我還需要確保在靜默運行時應用程序不需要UAC提升。在原始VBScript中,我需要在編輯Windows註冊表時提升UAC。

我知道用我目前的知識水平要求很多。但是我仍然處於設計階段,想要快速學習,並且在我走得太遠之前真的需要知道這是否可能。

回答

0

如果原始應用程序需要UAC提升來編輯註冊表,那麼新的應用程序也會如此。訪問級別是基於每個用戶而不是每個應用程序的基礎上的,因此除非您以不同的用戶身份運行應用程序,否則您的新應用程序會遇到同樣的問題。

至於不顯示的形式運行,你需要編輯主要是這樣的:

<STAThread()> _ 
Shared Sub Main() 
    ' Read the arguments  
    ' Starts the application. 
    if (argument == "/q" or argument == "/quiet") then 
     ' Edit the other program configurations here 
    else 
     Application.Run(New Form1()) 
    End if 
End Sub 

你可以調用version of Run(ApplicationContext) that doesn't show a form,但作爲啓動消息循環,你仍舊需要實際一些方法編輯其他程序的配置,可能是爲了響應按鍵。

+0

這看起來像我正在尋找的,但我想這就是我的無知。我知道有一個Sub Main(我能找到的所有東西都說有一個)。我有的問題是在Visual Studio 2012中找到它來編輯它。老實說,我幾乎希望我可以寫意這個項目。我將Sub Main設置爲啓動對象,但即使顯示了我在查找時遇到的所有文件。我可以創建它嗎?我應該在哪裏這樣做? – 2013-02-10 05:23:47

+0

或者我應該創建它作爲控制檯應用程序並添加到Windows窗體中? – 2013-02-10 05:27:44

+0

謝謝!當我爲它創建一個模塊時,這確實很棒。我無法聲明爲共享,但功能很好。如何將我創建的布爾狀態傳遞給表單或其他模塊,我正在考慮放置這些函數。我想要得到這個功能來抑制錯誤和提示。 – 2013-02-10 09:12:34