平常都是透過命令提示字元寫出部分小程式
但是發現檔案越來越多
有沒有辦法透過Visual Studio 達到類似命令提示字元的指令?
例如:
按鈕1 執行 Robocopy 可以選擇要備份的資料夾及路徑,且最後呈現log file 在視窗中
(目前是透過notepad 打開logfile 的方式呈現)
按鈕2 執行net use 設定預設的網路磁碟機路徑
按鈕3 執行設定指定的無線網路SSID
(目前是透過netsh 的方式直接設定)
按鈕4 諸如此類的功能
PS:小的基本上沒學過Visual Studio,只會使用命令提示字元做出Check 然後執行上述指令
但是想要改變方式讓整個透過視窗化程式達到上述功能
雖然目前已經有bat 的選單型態,只是希望能夠做到打開總視窗
點擊功能按鈕達到相同的方式
備註:單純是因為公司沒辦法安裝第三方工具,想要自己創造屬於公司專用的設定工具
empiresx wrote:
PS:小的基本上沒學過Visual Studio,只會使用命令提示字元做出Check 然後執行上述指令
但是想要改變方式讓整個透過視窗化程式達到上述功能
雖然目前已經有bat 的選單型態,只是希望能夠做到打開總視窗
點擊功能按鈕達到相同的方式
為了更快速的啟動所有的 OS,
於 Windows 7 X64 中寫了一個批次檔,
(類似 DOS 時代的 CMENU,)
(不過我自行"重新修改"為可在 X86/X64 中的 CMD.exe 執行的 CMENU,)
(讓傳統醜醜的批次檔更漂亮.)
將所有的 OS 都整合在一起,
簡單按一個"單鍵"就可以了.
如下:

另外網上也有很多命令列的 UI 產生工具,
不然也可用 PowerShell 功能更強大且也能寫 UI,
我是批次檔/PowerShell 混合呼叫,功能強大.
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4
Shell函數的第二引數說明:
vbHide 0 視窗被隱藏,且焦點會移到隱式視窗。
VbNormalFocus 1 視窗具有焦點,且會還原到它原來的大小和位置。
VbMinimizedFocus 2 視窗會以一個具有焦點的圖示來顯示。
VbMaximizedFocus 3 視窗是一個具有焦點的最大化視窗。
VbNormalNoFocus 4 視窗會被還原到最近使用的大小和位置,而當前活動的視窗仍然保持活動。
VbMinimizedNoFocus 6 視窗會以一個圖示來顯示。而當前活動的的視窗仍然保持活動。

程式碼:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Shell("notepad.exe", vbNormalFocus)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Shell("C:\Program Files\Microsoft Office\Office15\excel.exe", vbNormalFocus)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Shell("C:\Program Files\Microsoft Office\Office15\excel.exe c:\install.log", vbMaximizedFocus)
End Sub
End Class
lordtaco wrote:
可以,用Shell函...(恕刪)
感謝,這大概就是我想要的功能
順便詢問,可以搭配參數之類的應用嗎?
例如
runas /user:username programname
這樣子的方式
我會先利用您的自行先嘗試看看
未來主要是希望能夠做出給予使用者自行選定備份區域
好讓我開始推行由使用者自行升級作業系統的部屬
lordtaco wrote:
能不能接受參數,要...(恕刪)
真是太謝謝你!
目前一行程式大概沒問題了
===========================================================
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim username As String = System.Windows.Forms.SystemInformation.UserName
Shell("msra /saveasfile c:\temp\" + username + ".msrcIncident " + username + "Help")
End Sub
===========================================================
現在卡到的問題
在命令提示字元中
有三行程式依序執行,但是都得在同一CMD畫面中
例如
===========================================================
net use /user:domain\username password \\netdiskpath
explorer \\netdiskpath
pause
net use /del \\netdiskpath
===========================================================
若是這類的指令型態就無法透過shell的型態達成
在取得domain、username 和 password 這段可以透過呼叫另一個輸入視窗執行嗎?
我目前是知道可以在同一個FOrm中透過textbox1.text 的情況下取得
但是如果是需要在button click後跳出第二個Form要你輸入帳號密碼的畫面
然後取得Text2.text和Textbox3.text的帳號密碼身分
放入username 及 password 中
這點要如何辦到?
內文搜尋

X