如何從C#應用程序中放置的TextBox控件執行VBScript的代碼?如何從C#應用程序的文本框內執行VBScript命令?
像,讓我們假設我有一個C#Windows應用程序(表單) 並有兩個控件!
- 文本框(txtCode)
- 按鈕(btnExecute)
txtCode有VBScript代碼 ,我想在btnExecute點擊執行VBScript代碼的時候!
如何從C#應用程序中放置的TextBox控件執行VBScript的代碼?如何從C#應用程序的文本框內執行VBScript命令?
像,讓我們假設我有一個C#Windows應用程序(表單) 並有兩個控件!
txtCode有VBScript代碼 ,我想在btnExecute點擊執行VBScript代碼的時候!
您將需要使用WebBrowser
控制來做到這一點。
因爲我不認爲你可以在加載的頁面注入VBScript代碼。所以你可以做的是創建一個Temp .html
頁面,將你的TextBox的腳本保存在它中,然後將它加載到WebBrowser控件中。
VBScript不只是一種瀏覽器腳本語言,它可以與[Windows Script Host]一起使用(http://msdn.microsoft.com/zh-cn/library/9bbdkx3k( v = VS.85).aspx)以及服務器端ASP – 2011-04-19 12:56:03
難道你不能簡單地將它寫入文件並使用默認的Windows行爲或類似的東西來執行它?這是我能想到的唯一方式。
您可以直接通過VBS/JS的腳本運行時&通行碼&物體周圍。
向Microsoft腳本控制(COM)添加引用,然後您可以;
MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl();
object[] anyParams = { "Bob"};
string expr = @"function foo(arg)
dim x: x = ""Hello "" & arg
msgbox x
foo = 12345
End function";
sc.Language = "VBScript";
sc.AddCode(expr);
object result = sc.Run("foo", ref anyParams);
//also
sc.Reset();
result = sc.Eval("1 + 2/3 + abs(-99)");
你不能得到寫在txtCode texbox中的值和btnExecute點擊方法執行它嗎? – Bastardo 2011-04-19 12:02:39
@Muhamad:你爲什麼要騷擾C#應用程序? – Marshal 2011-04-19 12:04:05
@EmreVeriyaz,你打算如何做到這一點.. VBScript是一種客戶端腳本語言..所以它只能在具有'html'頁面或'超文本應用程序'的瀏覽器中運行。 – 2011-04-19 12:05:19