成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET SendKeys方法與鍵入值

開發(fā) 后端
這里介紹VB.NET SendKeys方法,包括介紹使用StdIn、StdOut和StdErr的程序,比如控制臺應(yīng)用程序,你可以覆蓋默認方法,提供一個StreamWriter來輸入,并提供一個StreamReaders來讀取StdOut和StdErr輸出值。

VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET SendKeys方法,包括介紹控制過程輸入輸出等方面。

有時候,你可能不僅僅想使用簡單的命令行,而是想把更復(fù)雜的輸入信息直接發(fā)送到啟動的過程中。前面例子中的把輸出導(dǎo)入到文件中的方法,并不總是最好的選擇。在許多情況下,把輸出直接導(dǎo)回你的應(yīng)用程序可能更有效。對于使用StdIn、StdOut和StdErr的程序,比如控制臺應(yīng)用程序,你可以覆蓋默認方法,提供一個StreamWriter來輸入,并提供一個StreamReaders來讀取StdOut和StdErr輸出值。當你啟動過程的時候,你需要設(shè)置ProcessStartInfo對象的RedirectStandardInput、RedirectStandardOutput和 RedirectStandardError屬性為True。然后,在啟動過程之后,使用Process對象的StandardInput、StandardOutput和StandardError屬性來把輸入輸出流分配到StreamReader和StreamWriter對象。

警告:默認情況下,框架使用Win32 ShellExecute函數(shù),在內(nèi)部啟動過程;但是當你想再分配輸入輸出流的時候,你必須在啟動過程之前設(shè)置 ProcessStartInfo.UseShellExecute屬性為False。注意當你那么做的時候,你必須要么指定到文件的完全路徑,要么文件位置必須在環(huán)境路徑中。例如,下面的代碼創(chuàng)建一個不可見的窗口,取得系統(tǒng)目錄中.com文件的目錄列表,然后在一個消息框中顯示結(jié)果。

  1. Dim myProcess As Process = New Process()  
  2. Dim s As String  
  3. myProcess.StartInfo.FileName = "cmd.exe" 
  4. myProcess.StartInfo.UseShellExecute = False 
  5. myProcess.StartInfo.CreateNoWindow = True 
  6. myProcess.StartInfo.RedirectStandardInput = True 
  7. myProcess.StartInfo.RedirectStandardOutput = True 
  8. myProcess.StartInfo.RedirectStandardError = True 
  9. myProcess.Start()  
  10. Dim sIn As StreamWriter = myProcess.StandardInput  
  11. sIn.AutoFlush = True 
  12.  
  13. Dim sOut As StreamReader = myProcess.StandardOutput  
  14. Dim sErr As StreamReader = myProcess.StandardError  
  15. sIn.Write("dir c:\Windows\system32\*.com" & _  
  16. System.Environment.NewLine)  
  17. sIn.Write("exit" & System.Environment.NewLine)  
  18. s = sOut.ReadToEnd()  
  19. If Not myProcess.HasExited Then  
  20. myProcess.Kill()  
  21. End If  
  22.  
  23. MessageBox.Show("The 'dir' command window was " & _  
    closed at: " & myProcess.ExitTime & "." & _  
    System.Environment.NewLine & "Exit Code: " & _  myProcess.ExitCode)  
  24.  
  25. sIn.Close()  
  26. sOut.Close()  
  27. sErr.Close()  
  28. myProcess.Close()  
  29. MessageBox.Show(s) 

對于不使用StdIn的程序,你可以使用VB.NET SendKeys方法來輸入按鍵事件。例如,下面這些代碼啟動記事本并輸入一些文本。

  1. Dim myProcess As Process = New Process()  
  2. myProcess.StartInfo.FileName = "notepad" 
  3. myProcess.StartInfo.WindowStyle = _ 
  4. ProcessWindowStyle.Normal  
  5. myProcess.EnableRaisingEvents = True 
  6. AddHandler myProcess.Exited, _  
  7. AddressOf Me.SendKeysTestExited  
  8. myProcess.Start()  
  9.  
  10. myProcess.WaitForInputIdle(1000)  
  11. If myProcess.Responding Then  
  12. System.Windows.Forms.SendKeys.SendWait( _  
  13. "This text was entered using the " & _  
  14. "System.Windows.Forms.SendKeys method.")  
  15. Else  
  16. myProcess.Kill()  
  17. End If  

你可以使用VB.NET SendKeys方法發(fā)送任何鍵入值,包括Alt、Ctrl和Shift鍵;所以,你可以使用它來保存或載入文件、退出或者執(zhí)行其他菜單驅(qū)動的命令。然而、VB.NET SendKeys方法只發(fā)送鍵入值到活動窗口(就是有焦點的那個窗口),所以如果一個應(yīng)用程序在這個過程中失去焦點,那么可能會出現(xiàn)問題。

【編輯推薦】

  1. 簡單講述VB.NET表間拖放
  2. 五分鐘學(xué)會VB.NET實現(xiàn)拖放
  3. 講述強大的VB.NET Web Forms,使用起來卻如此簡單
  4. 分析VB QuickSort應(yīng)用程序
  5. 兩步就可以掌握VB使用ArrayList類
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2010-01-13 11:11:42

VB.NET Date

2009-11-03 09:26:13

VB.NET方法

2010-01-21 10:48:18

VB.NET擴展方法

2009-11-03 10:51:33

VB.NET共享

2009-10-14 16:46:25

VB.NET OnSt

2009-10-27 11:32:42

VB.NET Disp

2010-01-07 15:25:11

VB.NET數(shù)組

2010-01-21 16:37:56

VB.NET變量聲明

2010-01-22 10:41:33

VB.NET聲明結(jié)構(gòu)

2009-10-13 15:20:02

VB.NET使用Dra

2009-10-30 15:37:23

VB.NET Sub創(chuàng)

2009-11-03 10:00:20

VB.NET New方

2009-11-10 12:42:47

VB.NET Prin

2010-01-22 11:15:50

VB.NET固定值變量

2009-10-16 15:06:13

VB.NET組合時間值

2009-10-23 12:53:25

VB.NET語言

2010-01-13 17:16:37

VB.NET冒號

2010-01-15 18:12:28

VB.NET超鏈接

2010-01-15 19:17:23

2010-01-18 18:06:07

VB.NET多線程
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日高清视频 | 天天操夜夜操 | 亚洲精品国产电影 | 国产精品a一区二区三区网址 | 91精品无人区卡一卡二卡三 | 久久久久无码国产精品一区 | 免费观看一级视频 | 国产成人午夜高潮毛片 | 一级片在线观看 | 天堂色综合 | 欧美精品福利 | 亚洲精品一区中文字幕乱码 | 亚洲97| 日韩电影中文字幕在线观看 | 日韩在线观看网站 | 色吊丝2288sds中文字幕 | 日韩视频一区在线观看 | 久久伊人在 | 毛片一级片 | 亚洲 成人 在线 | 国产精品福利视频 | 日韩免费视频一区二区 | 久久久婷婷 | 免费av在线网站 | 亚洲一区二区三区 | 久久欧美精品 | 久久精品色欧美aⅴ一区二区 | 91在线电影 | 午夜爽爽爽男女免费观看 | 日韩三级在线观看 | 黄色大片免费看 | 久久久久久久国产精品影院 | 狠狠色综合欧美激情 | 三区在线 | av黄色在线| www.久草.com| 日本午夜免费福利视频 | 99久久久久久99国产精品免 | 中文在线一区二区 | 久久伊人影院 | 91在线看片|