• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

blackice856

[Resolvido] Arrays

8 mensagens neste tópico

Tou a fazer uma espécie de keyloger para um colega meter nos pcs da escola (malandro ^^).

Como usar os hooks do windows e essas tretas dá muito trabalho resolvi fazer algo do género:

If e.KeyCode = Keys.A Then

        "código aqui"

        End If

I fazer isto um monte de vezes até ter todas as letras vai me dar trabalho.

Mas lembrei-me duma coisa que já tinha ouvido falar mas que nunca percebi bem chamados arrays.

Um array acho que define um intervalo, supostamente esse intervalo deverá ser de 1 - a 27 (letras do abcedário).

Alguém me conseguia postar aqui um pequeno exemplo de como deverá ser o meu código? É que já tou farto de ler artigos sobre isto, mas acho que só vou lá com um exemplo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dessa forma não vai funcionar, a não ser que a aplicação esteja visivel e com o focus.

Tens que utilizar um nível mais baixo de programação, recorrendo a API's (hooks como chamaste)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E se eu meter isto a correr como serviço?

Não deve dar na mesma né...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigada pela ajuda, mas continuei sem perceber isso dos arrays. Se me pudessem explicar melhor. É que não tem lógica o que estou a fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um array funciona desta forma

        Dim array(3) As String

        array(0) = "isto"

        array(1) = "é"

        array(2) = "um"

        array(3) = "teste"

        For Each p As String In array

            Debug.WriteLine(p)

        Next

Ou seja, defines o array com 4 posições de memória (3 porque começa no zero) e depois defines para cada posição o que queres guarda (texto, numeros. etc). Finalmente tens um pequeno exemplo de como mostrar os dados.

Com o VS.NET apareceram as generics collections . Têm diversas vantagens em relação aos arrays convencionais e podes ver mais informações aqui: VB.NET: Utilizando Colecções List(Of T)


Finalmente, e para o que qeres, não precisas de colecções ou arrays. Podes fazer assim:

Public Class Form1

    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

        Debug.WriteLine(Chr(AscW(e.KeyChar)))

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.KeyPreview = True

    End Sub

End Class

Espero que isto ajude a esclarecer!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OMG nem sei como não me lembrei disso...

Já agora, deves ter tido uma razão para escreveres  "Debug.WriteLine(Chr(AscW(e.KeyChar)))" ou não?

É que  "Debug.WriteLine(e.KeyChar)" chegou-me.

PS: És o meu heroi ^^!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, deves ter tido uma razão para escreveres  "Debug.WriteLine(Chr(AscW(e.KeyChar)))" ou não?

LOL, não ... enganei-me. :(

Depois tirei mas não me lembrei de alterar no fórum.

PS: És o meu heroi ^^!

Ainda bem que pude ajudar :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora