Bonjour,
Je cherche à faire un programme qui va gérer le presse papier de Windows.
Pour cela j'ai trouvé un bout de code qui permet de récupérer le texte lorsqu'il y a un changement dans le presse papier.
Mais pour la suite, j'ai un problème...
Je précise que je ne connait pas très bien le VB.NET, je début quoi, donc j'ai pas forcément bien compris le code que j'ai copié.
Le code a un comportement étrange, il ne passe pas par ces deux lignes, qui sont dans la fonction WndProc.
Pouvez-vous me dire pourquoi ? Et comment je peux résoudre ce problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SauvegardePressePapier(0, 0) = Clipboard.GetText() MsgBox(SauvegardePressePapier(0, 0))
Voici le code en entier :
Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Imports System.Runtime.InteropServices Public Class Form1 Private SauvegardeListBox(,) As String Private Const WM_DRAWCLIPBOARD As Integer = 776 Private Const WM_CHANGECBCHAIN As Integer = 781 Private fpChainedWindowHandle As IntPtr Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged Me.ListBox2.SelectedIndex = Me.ListBox1.SelectedIndex End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load fpChainedWindowHandle = SetClipboardViewer(Me.Handle) End Sub <DllImport("User32.dll")> Public Shared Function SetClipboardViewer(ByVal hWndNewViewer As IntPtr) As IntPtr End Function <DllImport("User32.dll")> Public Shared Function SendMessage(ByVal Handle As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr End Function Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) MyBase.WndProc(m) If m.Msg = WM_DRAWCLIPBOARD Then If My.Computer.Clipboard.ContainsText = True Then Me.ListBox1.Items.Add(Clipboard.GetText()) SauvegardeListBox(0, 0) = Clipboard.GetText() MsgBox(SauvegardeListBox(0, 0)) End If SendMessage(fpChainedWindowHandle, m.Msg, m.LParam, m.WParam) End If End Sub End Class
Partager