2013-05-20 46 views
0

是否有可能在VB.net 2008 Project中包含一個VBScript(test.vbs),並在需要處理時運行它?但主要的是它應該可以建立一個.exe。VB.net和VBScript的可能性

如果是這樣,你還可以從VBS文件接收值/參數嗎?

下面是一個例子,雖然它是毫無意義的,但它是用於unterstanding:

  1. VB.net - > exe文件運行
  2. exe文件運行please_find_the_coputername.vbs
  3. 腳本please_find_the_coputername.vbs - >獲得計算機名稱並將此變量發送到VB.net
  4. VB.Net通過Msgbox()顯示計算機名稱。

注意:我知道我可以用VB.net讀出計算機名稱,但這個例子僅用於理解我的問題。

編輯:

你好@maxedev謝謝你的回答。噢..它的好戲。 但我只想在VB.net做VBScript代碼:

Dim strComputer 

strComputer = "LP-BKR" 

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _ 
    & strComputer & "\root\cimv2") 

Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem") 

For Each objComputer in colComputer 
    Wscript.Echo "Logged-on Domain: " & objComputer.Domain 
    Wscript.Echo "Logged-on UserName: " & objComputer.UserName 
    Wscript.Echo "Logged-on ComputerName: " & objComputer.Name 
Next 

set objWMIService = Nothing 
set colComputer = Nothing 

我搜索了一整天來獲得相同的價值......但沒有發現任何東西。這就是爲什麼我決定這樣做。但是,如果我認爲,剪貼板的伎倆是有風險的。它將靜止的剪貼板文本推開。我怎麼能意識到它?

回答

1

我不確定你想要完成什麼,但你可以寫入一個文本文件,然後通過vb.net讀取它 - 或者你可以做一些像this post這樣的使用剪貼板來傳遞信息即:

VBS:

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "cmd.exe /c echo hello world | clip", 0, TRUE 

VB.NET:

MessageBox.Show(Clipboard.GetText) 

--shows的 「Hello World」

0

Windows會自動提供你正在尋找的環境變量的信息:

%USERNAME%  -> username of the logged in user 
%USERDOMAIN% -> WINS name of the domain the user is logged into 
%USERDNSDOMAIN% -> FQDN of the domain the user is logged into 
%COMPUTERNAME% -> hostname of the computer