Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [vb6]Intercettare le modifiche della clipboard

    vorrei sapere se c'è un modo per fare quanto kiesto...devo intercettare ogni volta ke l'utente fa un "copia" o ctrl+v
    grazie

  2. #2
    nessuno?

  3. #3
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    dovresti fare un programma che gira sempre e ogni tot millisecondi controlla se il contenuto (e/o il formato dello stesso) è cambiato
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  4. #4
    era l'ultima alternativa...aspetto se qualcuno ha idee migliori se no faccio così

  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    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

  6. #6
    quindi dovrei ripetere questa routine ogni 100 millisecondi ad esempio?non c'è un modo per intercettare la copia avvenuta?

  7. #7
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Io mi riferivo a questa situazione:
    devo intercettare ogni volta ke l'utente fa un "copia" o ctrl+v
    Questa non l'avevi detta:
    quindi dovrei ripetere questa routine ogni 100 millisecondi
    Personalmente ritengo che il codice che ti ho indicato non sia adatto.
    Dai una scorsa qui forse trovi qualcosa di più adatto al tuo caso.
    LM

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ranza!!!123
    quindi dovrei ripetere questa routine ogni 100 millisecondi ad esempio?non c'è un modo per intercettare la copia avvenuta?
    Ma lo dvi fare "per tutto il sistema"? Anche se si utilizza Word o Excel?

    E a che servirebbe?

  9. #9
    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

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.