vorrei sapere se c'è un modo per fare quanto kiesto...devo intercettare ogni volta ke l'utente fa un "copia" o ctrl+v
grazie
vorrei sapere se c'è un modo per fare quanto kiesto...devo intercettare ogni volta ke l'utente fa un "copia" o ctrl+v
grazie
nessuno?![]()
dovresti fare un programma che gira sempre e ogni tot millisecondi controlla se il contenuto (e/o il formato dello stesso) è cambiato
era l'ultima alternativa...aspetto se qualcuno ha idee migliori se no faccio così
ranza!!!123
penso che alla fine dei conti a te interessi sapere se la cb ha un contenuto (dato che se ha un contenuto l'utento lo ha copiato, usando i comandi di cui sopra!); quindi, se il punto di partenza è corretto, potresti utilizzare questo codice:
codice:Private Sub Command1_Click() ' Azzera il contenuto della Clipboard ' da inserire fuori dalla routine (prima del controllo della cb): 'Clipboard.Clear On Error Resume Next Dim ClpFmt, Msg ' Recupera il formato dagli Appunti: If Clipboard.GetFormat(vbCFText) Then ClpFmt = ClpFmt + 1 If Clipboard.GetFormat(vbCFBitmap) Then ClpFmt = ClpFmt + 2 If Clipboard.GetFormat(vbCFDIB) Then ClpFmt = ClpFmt + 4 If Clipboard.GetFormat(vbCFRTF) Then ClpFmt = ClpFmt + 8 Select Case ClpFmt Case 1 Msg = "Gli Appunti contengono solo testo." Case 2, 4, 6 Msg = "Gli Appunti contengono solo una bitmap." Case 3, 5, 7 Msg = "Gli Appunti contengono del testo e una bitmap." Case 8, 9 Msg = "Gli Appunti contengono solo testo RTF." Case Else Msg = "Gli Appunti sono vuoti." End Select MsgBox Msg End Sub
LM
quindi dovrei ripetere questa routine ogni 100 millisecondi ad esempio?non c'è un modo per intercettare la copia avvenuta?
Io mi riferivo a questa situazione:
Questa non l'avevi detta:devo intercettare ogni volta ke l'utente fa un "copia" o ctrl+v
Personalmente ritengo che il codice che ti ho indicato non sia adatto.quindi dovrei ripetere questa routine ogni 100 millisecondi
Dai una scorsa qui forse trovi qualcosa di più adatto al tuo caso.![]()
LM
Ma lo dvi fare "per tutto il sistema"? Anche se si utilizza Word o Excel?Originariamente inviato da ranza!!!123
quindi dovrei ripetere questa routine ogni 100 millisecondi ad esempio?non c'è un modo per intercettare la copia avvenuta?
E a che servirebbe?
si,dovrebbe funzionare anke per office...hai presente in word che se fai più copia-incolla ti salva anche i vecchi "copia"?in modo che se ne fai + di uno puoi recuperare quelli vecchi.
io vorrei fare una applicazione che faccia la stessa cosa in ambiente windows
Esiste una funzione delle API, la
SetClipboardViewer
il cui help recita:
"The SetClipboardViewer function adds the specified window to the chain of clipboard viewers. Clipboard viewer windows receive a WM_DRAWCLIPBOARD message whenever the content of the clipboard changes . "
Non l'ho mai provata, ne' so se funziona bene, ma penso sia la soluzione al tuo problema.
Naturalmente devi prevedere la ricezione del messaggio con il subclassing ...
Probabilmente c'e' qualche esempio in giro ...
La documentazione la trovi a partire da questa pagina