Stockage de données dans le Presse-papiers et lecture du Presse-papiers (Visual Basic)
Le Presse-papiers peut être utilisé pour stocker des données, telles que du texte et des images. Comme le Presse-papiers est partagé par tous les processus actifs, il peut être utilisé pour transférer des données entre ces processus. L’objet My.Computer.Clipboard
permet d’accéder facilement au Presse-papiers et de lire et écrire dedans.
Lecture à partir du Presse-papiers
Utilisez la méthode GetText pour lire le texte dans le Presse-papiers. Le code suivant lit le texte et l’affiche dans une boîte de message. Du texte doit être stocké dans le Presse-papiers pour que l’exemple s’exécute correctement.
MsgBox(My.Computer.Clipboard.GetText())
Cet exemple de code est également disponible sous la forme d’un extrait de code IntelliSense. Dans le sélecteur d’extraits de code, il se trouve dans Applications Windows Forms > Presse-papiers. Pour plus d’informations, consultez Extraits de code.
Utilisez la méthode GetImage pour récupérer une image à partir du Presse-papiers. Cet exemple vérifie si une image se trouve dans le Presse-papiers avant de la récupérer et de l’assigner à PictureBox1
.
If My.Computer.Clipboard.ContainsImage() Then
Dim grabpicture As System.Drawing.Image
grabpicture = My.Computer.Clipboard.GetImage()
picturebox1.Image = grabpicture
End If
Cet exemple de code est également disponible sous la forme d’un extrait de code IntelliSense. Dans le sélecteur d’extraits de code, il se trouve dans Applications Windows Forms > Presse-papiers. Pour plus d’informations, consultez Extraits de Code.
Les éléments placés dans le Presse-papiers sont conservés même après l’arrêt de l’application.
Détermination du type de fichier stocké dans le Presse-papiers
Les données du Presse-papiers peuvent présenter différentes formes, telles que du texte, un fichier audio ou une image. Pour déterminer le type de fichier qui se trouve dans le Presse-papiers, vous pouvez utiliser des méthodes telles que ContainsAudio, ContainsFileDropList, ContainsImage et ContainsText. Vous pouvez utiliser la méthode ContainsData si vous avez un format personnalisé que vous souhaitez vérifier.
Utilisez la fonction ContainsImage
pour déterminer si les données contenues dans le Presse-papiers sont une image. Le code suivant vérifie si les données sont une image et en rend compte en conséquence.
If My.Computer.Clipboard.ContainsImage() Then
MsgBox("Clipboard contains an image.")
Else
MsgBox("Clipboard does not contain an image.")
End If
Effacement du contenu du Presse-papiers
La méthode Clear efface le Presse-papiers. Comme le Presse-papiers est partagé par d’autres processus, l’effacement de son contenu peut avoir un impact sur ces processus.
Le code suivant met en œuvre la méthode Clear
.
My.Computer.Clipboard.Clear()
Écriture dans le Presse-papiers
Utilisez la méthode SetText pour écrire du texte dans le Presse-papiers. Le code suivant écrit la chaîne « This is a test string » dans le Presse-papiers.
My.Computer.Clipboard.SetText("This is a test string.")
La méthode SetText
peut accepter un paramètre de format qui contient un type de TextDataFormat. Le code suivant écrit la chaîne « This is a test string » dans le Presse-papiers sous la forme de texte RTF.
My.Computer.Clipboard.SetText("This is a test string.",
System.Windows.Forms.TextDataFormat.Rtf)
Utilisez la méthode SetData pour écrire des données dans le Presse-papiers. Cet exemple écrit le DataObject
dataChunk
dans le Presse-papiers au format personnalisé specialFormat
.
My.Computer.Clipboard.SetData("specialFormat", dataChunk)
Utilisez la méthode SetAudio pour écrire des données audio dans le Presse-papiers. Cet exemple crée le tableau d’octets musicReader
, lit le fichier cool.wav
, puis l’écrit dans le Presse-papiers.
Dim musicReader = My.Computer.FileSystem.ReadAllBytes("cool.wav")
My.Computer.Clipboard.SetAudio(musicReader)
Important
Étant donné que le Presse-papiers est accessible par d’autres utilisateurs, ne l’utilisez pas pour stocker des informations sensibles, telles que des mots de passe ou des données confidentielles.