台灣最大程式設計社群網站
線上人數
1264
 
會員總數:239330
討論主題:185676
歡迎您免費加入會員
討論區列表 >> VB.NET >> 有關 SecureString和process.start
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
有關 SecureString和process.start
價值 : 10 QP  點閱數:185 回應數:4

樓主

ford
門外漢
0 5
41 2
發送站內信

想請問大大們一下 我看了MSDN網站上的範例

自己嘗試了一下 都沒辦法

1.首先MSDN上process.start 給的範例為什麼我不管輸入什麼 他都會報錯誤


沒辦法啟動筆記本 會說什麼密碼錯誤,網域錯誤 我也納悶我程式內沒密碼 我也沒設定阿

後來想用字串或者整數去弄 和securePwd一樣 他又說類型不同..

這到底該怎麼用?







搜尋相關Tags的文章: [ VB .net SecureString 和 process.start ] ,
本篇文章發表於2017-02-27 18:07
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

Po
檢舉此回應
如果您只是要啟動 "Notepad.exe"


如果要用 "Notepad" 開啟 "C:\123.txt"


如果要用 OS 預設的程式開啟 "c:\123.txt"


至於您的程式碼
Process.Start("Notepad.exe", "MyUser", securePwd, "MYDOMAIN")
為何錯誤...
我不太清楚
但依照 MSDN 的說明:

參數
fileName
Type: System.String
要在處理序中執行之應用程式檔案的名稱。
userName
Type: System.String
要在啟動處理序時使用的使用者名稱。
password
Type: System.Security.SecureString
SecureString,包含啟動處理序時要使用的密碼。
domain
Type: System.String
要在啟動處理序時使用的網域。


我想您的 "Notepad.exe" 並未指定路徑
所以會從本機的環境變數 "Path" 中所指定的所有路經中尋找 "Notepad.exe"
並且會在 "c:\windows\" 中找到,但您還指定了 開啟應用程式所需要的 "使用者名稱"、"密碼"、"網域" 所以產生錯誤
錯誤原因可能是
1.網域名稱不對(找不到)
2.使用者名稱不對
3.密碼不對

不知道有沒有符合您的問題
本篇文章回覆於2017-02-28 02:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

ford
檢舉此回應
謝謝大大解說 不過我的問題是我的程式碼幾乎是用MSDN



主要是我有點搞不太清楚 這到底是怎麼用 我想給securePwd設置密碼實 不知道怎麼設 用integer 或string設置都類型錯誤

他給的這段 看程式也沒給密碼 我隨便輸 他就一直抱錯

到底要怎麼做才能啟動 MSDN當中 Process.Start("Notepad.exe", "MyUser", securePwd, "MYDOMAIN")

這一段使用筆記本




本篇文章回覆於2017-02-28 12:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

JoJo
檢舉此回應
您的電腦,需要打帳號密碼登入嗎?如果不用,那您用的Process.Start方法不適用;如果要,請輸入登入電腦的帳號、密碼和網域...
本篇文章回覆於2017-03-01 08:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

風燭殘年
捐贈 VP 給 風燭殘年 檢舉此回應
MSDN 上面已經寫的很清楚了。

Process.Start 方法 (fileName,userName,password,domain)
藉由指定應用程式的名稱、使用者名稱、密碼和網域來啟動處理序資源,並將該資源與新的 Process 元件相關聯。

fileName Type: System.String
要在處理序中執行之應用程式檔案的名稱。

userName Type: System.String
要在啟動處理序時使用的使用者名稱。

password Type: System.Security.SecureString
SecureString,包含啟動處理序時要使用的密碼。

domain Type: System.String
要在啟動處理序時使用的網域。

也就是說,如果你透過 Process.Start 要執行的應用程式是需要透過指定帳號才能執行,那麼就使用此方式輸入有執行權限的 帳號與密碼,以及網域名稱。

若執行該應用程式不需要特別的使用者權限,那麼就只要透過 Process.Start 方法 (fileName)就行了。
fileName Type: System.String
要在處理序中執行之應用程式檔案的名稱。
本篇文章回覆於2017-03-01 11:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.