Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569

    VB Simulazione tasto Stamp

    Come faccio a simulare la pressione del tasto Stamp usando il comando SendKeys ? Cioè che parametro devo fornire assieme al "comando" SendKeys ?

  2. #2
    codice:
    SendKeys "{PRTSC}"
    Bastava fare F1 sopra SendKeys... non ce l'hai la guida in VB6?
    Chi non cerca trova.

  3. #3
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Scusa, ho provato a inserire il codice che mi hai passato ma non succede nulla, la ClipBoard non contiene nulla... :master:

    Cosa succede ?

  4. #4
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Non funzione perchè invia il carattere alla tua applicazione e non al sistema!
    Per fare questo devi usare la seguente API:
    codice:
    Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    con le seguenti costanti:

    codice:
    Const KEYEVENTF_EXTENDEDKEY = &H1 'pressione del tasto (keyDown)
    Const KEYEVENTF_KEYUP = &H2 'rilascio del tasto premuto (keyUp)
    Questa funzione simula la pressione di un tasto della tastiera, il cui codice è nell' argomento bVk.
    E' importante ripetere l'operazione prima con dwFlags = KEYEVENTF_EXTENDEDKEY e poi con KEYEVENTF_KEYUP , in questo modo "preme e rilascia" il tasto, senza lasciarlo giù.

    Ecco la funzione che cercavi (l'argomento TuttoSchermo determina se copiare nella clipboard solo la finestra attuale o tutto lo schermo)
    codice:
    Sub PrintScreen(TuttoSchermo as Boolean)
    If TuttoSchermo Then
       'copia nella clipboard l'intero contenuto dello schermo
       keybd_event vbKeySnapshot, 1, KEYEVENTF_EXTENDEDKEY, 0 'simula la  pressione del tasto "Stamp" o "Print"
       keybd_event vbKeySnapshot, 1, KEYEVENTF_KEYUP, 0 'simula il rilascio del tasto "Stamp" o "Print"
    Else
    
        'copia nella clipboard il solo contenuto della finestra attiva
    
        keybd_event vbKeySnapshot, 0, KEYEVENTF_EXTENDEDKEY, 0 'simula la pressione dei tasti "Alt" +"Stamp" o "Print"
        keybd_event vbKeySnapshot, 1, KEYEVENTF_KEYUP, 0 'simula il rilascio dei tasti "Alt" +"Stamp" o "Print"
    End If
    End Sub

  5. #5
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Grazie, all'inizio non funzionava ( copiava sempre solo la finestra attiva) poi ho modificato la parte di codice che mi hai fornito che vedi in rosso...:

    keybd_event vbKeySnapshot, 1, KEYEVENTF_EXTENDEDKEY, 0 'simula la pressione del tasto "Stamp" o "Print"
    keybd_event vbKeySnapshot, 1 , KEYEVENTF_KEYUP, 0 'simula il rilascio del tasto "Stamp" o "Print"

    e, al posto di 1 ho messo 0
    In questo modo funziona.

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.