Share via


데이터를 클립보드에 저장하고 클립보드에서 읽기(Visual Basic)

클립보드를 사용하여 텍스트 및 이미지와 같은 데이터를 저장할 수 있습니다. 클립보드는 모든 활성 프로세스에서 공유되기 때문에 프로세스 간에 데이터를 전송하는 데 사용할 수 있습니다. My.Computer.Clipboard 개체를 사용하면 클립보드에 쉽게 액세스하고 읽고 쓸 수 있습니다.

클립보드에서 읽기

GetText 메서드를 사용하여 클립보드에 텍스트를 읽습니다. 다음 코드는 텍스트를 읽고 메시지 상자에 표시합니다. 예제가 제대로 실행되려면 클립보드에 텍스트가 저장되어 있어야 합니다.

MsgBox(My.Computer.Clipboard.GetText())

이 코드 예제는 IntelliSense 코드 조각으로 사용할 수도 있습니다. 코드 조각 선택에서 Windows Forms 애플리케이션> 클립보드에 있습니다. 자세한 내용은 코드 조각을 참조하세요.

GetImage 메서드를 사용하여 클립보드에서 이미지를 검색합니다. 이 예제에서는 이미지를 검색하고 PictureBox1에 할당하기 전에 클립보드에 이미지가 있는지 확인합니다.

If My.Computer.Clipboard.ContainsImage() Then
    Dim grabpicture As System.Drawing.Image
    grabpicture = My.Computer.Clipboard.GetImage()
    picturebox1.Image = grabpicture
End If

이 코드 예제는 IntelliSense 코드 조각으로 사용할 수도 있습니다. 코드 조각 선택에서 Windows Forms 애플리케이션 > 클립보드에 있습니다. 자세한 내용은 코드 조각을 참조하세요.

클립보드에 배치된 항목은 애플리케이션이 종료된 후에도 유지됩니다.

클립보드에 저장된 파일 형식 확인

클립보드의 데이터는 텍스트, 오디오 파일 또는 이미지와 같은 다양한 형태일 수 있습니다. 클립보드에 있는 파일의 종류를 확인하려는 경우 ContainsAudio, ContainsFileDropList, ContainsImage, ContainsText 등의 메서드를 사용할 수 있습니다. 사용자 지정 형식을 확인하려는 경우에는 ContainsData 메서드를 사용할 수 있습니다.

ContainsImage 함수를 사용하여 클립보드에 포함된 데이터가 이미지인지 여부를 확인할 수 있습니다. 다음 코드는 데이터가 이미지인지 여부를 확인하고 그에 따라 보고합니다.

If My.Computer.Clipboard.ContainsImage() Then
    MsgBox("Clipboard contains an image.")
Else
    MsgBox("Clipboard does not contain an image.")
End If

클립보드 지우기

Clear 메서드는 클립보드를 지웁니다. 클립보드가 다른 프로세스에서 공유되기 때문에 클립보드를 지우면 해당 프로세스에 영향을 줄 수 있습니다.

다음 코드에서는 Clear 메서드를 사용하는 방법을 보여 줍니다.

My.Computer.Clipboard.Clear()

클립보드에 쓰기

SetText 메서드를 사용하여 클립보드에 텍스트를 씁니다. 다음 코드는 클립보드에 "This is a test string" 문자열을 씁니다.

My.Computer.Clipboard.SetText("This is a test string.")

SetText 메서드는 TextDataFormat 형식을 포함하는 형식 매개 변수를 수락할 수 있습니다. 다음 코드는 클립보드에 "This is a test string" 문자열을 RTF 텍스트로 씁니다.

My.Computer.Clipboard.SetText("This is a test string.", 
System.Windows.Forms.TextDataFormat.Rtf)

SetData 메서드를 사용하여 클립보드에 데이터를 씁니다. 이 예제에서는 DataObjectdataChunk를 사용자 지정 형식 specialFormat으로 클립보드에 씁니다.

My.Computer.Clipboard.SetData("specialFormat", dataChunk)

SetAudio 메서드를 사용하여 클립보드에 오디오 데이터를 씁니다. 이 예제에서는 바이트 배열 musicReader를 만들고, cool.wav 파일을 배열로 읽어온 다음 클립보드에 씁니다.

Dim musicReader = My.Computer.FileSystem.ReadAllBytes("cool.wav")
My.Computer.Clipboard.SetAudio(musicReader)

Important

다른 사용자가 클립보드에 액세스할 수 있기 때문에 클립보드를 사용하여 암호 또는 기밀 데이터와 같은 중요한 정보를 저장하지 마세요.

참고 항목