如何將螢幕或使用中視窗複製到剪貼簿從 Visual Basic

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:240653
結論
本文將告訴您,如何以程式設計的方式複製到剪貼簿的使用中視窗或整個螢幕和列印影像。
其他相關資訊
程式碼包含在知識庫文件:
161299如何擷取和列印螢幕、 一個表單或任何視窗
示範如何擷取任何表單或包括在螢幕的視窗,並將其置於一個 Visual Basic 圖片物件。如果唯一的需求是複製到剪貼簿的使用中視窗或螢幕,keybd_event API 是許多較容易和低負荷的方法。呼叫 keybd_event API 已達到輸入按鍵組合 PRINTSCRN (複製到剪貼簿螢幕) 或 ALT + PRINTSCRN (複製到剪貼簿的使用中視窗) 的功能相同。如果您也需要列印影像,隱藏的 PictureBox 可以提供這項功能。

逐步範例

  1. 啟動新的 Visual Basic 標準 EXE 專案。預設會建立 Form1。
  2. 將三個 CommandButtons 和一個 PictureBox 加入 Form1。
  3. 將下列程式碼加入至 Form1 的 [一般宣告區段:
    Option ExplicitPrivate Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _   bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Private Declare Function GetVersionExA Lib "kernel32" _      (lpVersionInformation As OSVERSIONINFO) As IntegerPrivate Type OSVERSIONINFO    dwOSVersionInfoSize As Long    dwMajorVersion As Long    dwMinorVersion As Long    dwBuildNumber As Long    dwPlatformId As Long    szCSDVersion As String * 128End TypePrivate Const KEYEVENTF_KEYUP = &H2Private Const VK_SNAPSHOT = &H2CPrivate Const VK_MENU = &H12Dim blnAboveVer4 As BooleanPrivate Sub Command1_Click()    If blnAboveVer4 Then        keybd_event VK_SNAPSHOT, 0, 0, 0    Else        keybd_event VK_SNAPSHOT, 1, 0, 0    End IfEnd SubPrivate Sub Command2_Click()    If blnAboveVer4 Then        keybd_event VK_SNAPSHOT, 1, 0, 0    Else        keybd_event VK_MENU, 0, 0, 0        keybd_event VK_SNAPSHOT, 0, 0, 0        keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0        keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0    End IfEnd SubPrivate Sub Command3_Click()    ' Load the captured image into a PictureBox and print it    Picture1.Picture = Clipboard.GetData()    Printer.PaintPicture Picture1.Picture, 0, 0    Printer.EndDocEnd SubPrivate Sub Form_Load()    Dim osinfo As OSVERSIONINFO    Dim retvalue As Integer       osinfo.dwOSVersionInfoSize = 148    osinfo.szCSDVersion = Space$(128)    retvalue = GetVersionExA(osinfo)    If osinfo.dwMajorVersion > 4 Then blnAboveVer4 = True    Picture1.Visible = False    Command1.Caption = "Print Screen"    Command2.Caption = "Alt+Print Screen"    Command3.Caption = "Print Image"End Sub					
  4. 開啟 [Microsoft 小畫家],然後再執行專案。
  5. 按一下 [列印螢幕] 按鈕,切換至小畫家,和按 CTRL + V 鍵 將剪貼簿內容貼到 [小畫家]。貼上整個螢幕。
  6. 按一下 [Alt + 列印螢幕] 按鈕,切換至前,作為 [小畫家和一次按下 CTRL + V 鍵。使用中視窗會貼上。
  7. 按一下 [列印影像] 按鈕,然後所擷取的影像將會列印 (使用隱藏的 PictureBox)。
参考
如需詳細資訊請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中:
161299如何擷取和列印螢幕、 一個表單或任何視窗

189249如何判斷正在使用哪一個 32 位元 Windows 版本
PRINTSCREEN ALTPRINTSCREEN ALT + PRINTSCREEN

警告:本文為自動翻譯

內容

文章識別碼:240653 - 最後檢閱時間:06/29/2004 23:19:45 - 修訂: 2.1

Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbmt kbapi kbclipboard kbhowto kbprint KB240653 KbMtzh
意見反應