Sneltoetsen

Status
Niet open voor verdere reacties.

bn2vs

Terugkerende gebruiker
Lid geworden
18 aug 2007
Berichten
1.705
Ik weet hoe ik sneltoetsen kan inbouwen in mn progie, maar ik zou een sneltoets willen die ook werkt als mn programma enkel op de achtergrond open staat.

Dus als je mn porgramma hebt openstaan werken alle sneltoetsen, maarb als je bv ie start en daar wat doet, dan moet je eerst weer naar mn programma gaan voordat ze het terug doen.

Is hetgeen wat ik wil doen mogelijk, en zoja, hoe?

Alvast bedankt :)
 
GetKeyAsyncState API. Google, of zoek op dit forum, het is al ZO vaak gevraagd...
 
Hehe, je heb gelijk :)

Ik krijg een fout als ik dit doe
PHP:
If GetAsyncKeyState(i) = -32767 Then

Dit is mn volledige code

PHP:
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

    Private Sub tmrKeys_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrKeys.Tick

        For i As Integer = 1 To 255
            If GetAsyncKeyState(i) = -32767 Then
                If Chr(i) = CChar("a") Then
                    MessageBox.Show("A aangeslaan")
                End If
            End If
        Next i

    End Sub
 
Ik ook niet :confused:

Heb nu als oplossing een hidden menu ding met daarin knoppen met snelkoppelingen, maar das ook niet echt ideaal lijkt me...
 
doh, dat is m juist. Als iemand nou de FOUT eens post, kan ik meer doen. Bovendien, die code is eignelijk voor vb6, maargoed.
 
doh, dat is m juist. Als iemand nou de FOUT eens post, kan ik meer doen. Bovendien, die code is eignelijk voor vb6, maargoed.

als iemand nou eens goed uitlegt hoe het moet. inplaats van er zo geheimzinning over doen en posts naar google posten

edit:
ik heb zojuist mijn probleem opgelost :D:D
na 3 maanden zoeken .. bleek youtube eindelijk het einde van mij zoekocht te zijn.
 
Laatst bewerkt:
doh, dat is m juist. Als iemand nou de FOUT eens post, kan ik meer doen. Bovendien, die code is eignelijk voor vb6, maargoed.

Take it easy, take a Sisi.

Of als het echt te veel wordt:
pot_1.jpg


:D
 
als iemand nou eens goed uitlegt hoe het moet. inplaats van er zo geheimzinning over doen en posts naar google posten

ik weet niet hoor, maar ik post gewoon nuttige links. Bovendien werk ik met 6.0 en dus kan ik niet meer doen dan google-links posten.
 
ik weet niet hoor, maar ik post gewoon nuttige links. Bovendien werk ik met 6.0 en dus kan ik niet meer doen dan google-links posten.

ik werk toch ook met vb 6.0.. ik zou het toch ook kunnen zeggen.. inplaats van google links kan je toch ook uitleggen hoe het moet.. 1 keer goed. en als dan nog iemand het vraagt ze naar dat topic linken ofzo..
 
als iemand nou eens goed uitlegt hoe het moet. inplaats van er zo geheimzinning over doen en posts naar google posten

edit:
ik heb zojuist mijn probleem opgelost :D:D
na 3 maanden zoeken .. bleek youtube eindelijk het einde van mij zoekocht te zijn.

:roflol:

ba_treatyourmotherright.jpg

I pity the fool!

Je had ook gewoon even op MSDN kunnen kijken... of je leert met Google werken. :)

(edit: Wat heeft die CoD_NL toch met zijn plaatjes... dat komt door het weer ;))
 
Laatst bewerkt:
Kan iemand nu de code mss posten zodat ik het ook mss snap? :D
 
Hehe, je heb gelijk :)

Ik krijg een fout als ik dit doe
PHP:
If GetAsyncKeyState(i) = -32767 Then

Dit is mn volledige code

PHP:
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

    Private Sub tmrKeys_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrKeys.Tick

        For i As Integer = 1 To 255
            If GetAsyncKeyState(i) = -32767 Then
                If Chr(i) = CChar("a") Then
                    MessageBox.Show("A aangeslaan")
                End If
            End If
        Next i

    End Sub

Ik krijg hier de waarde '-32768' wanneer er een juiste knop is ingedrukt.(onder devcpp, maar zou hetzelfde moeten zijn)

Dit zou je kunnen testen met iets als onderstaande:

Code:
If GetAsyncKeyState(i) Then
  messagebox.show(cstr(GetAsyncKeyState(i))) 'toont waarde

Iets als onderstaande zou volgens mij gewoon moeten werken:

Code:
for i as integer = 65 to 90 'a tot z
  if GetAsyncKeyState(i) then 'niet gelijk aan 0
    messagebox.show(chr(i) + " is ingedrukt")
  end if
next i

Ik hoop dat je iets aan de informatie hebt. :)
 
Ik krijg nog steeds dezelfde fout. :confused:
Een aanroep naar PInvoke-functie WindowsApplication1!WindowsApplication1.Form1::GetAsyncKeyState heeft de stack in onbalans gebracht. Dit komt waarschijnlijk doordat de PInvoke-handtekening met begeleiding niet overeenkomt met de doelhandtekening zonder begeleiding. Controleer of de aanroepconventie en parameters van de PInvoke-handtekening overeenkomen met de doelhandtekening zonder begeleiding.
 
Ik krijg nog steeds dezelfde fout. :confused:
Een aanroep naar PInvoke-functie WindowsApplication1!WindowsApplication1.Form1::GetAsyncKeyState heeft de stack in onbalans gebracht. Dit komt waarschijnlijk doordat de PInvoke-handtekening met begeleiding niet overeenkomt met de doelhandtekening zonder begeleiding. Controleer of de aanroepconventie en parameters van de PInvoke-handtekening overeenkomen met de doelhandtekening zonder begeleiding.

Hier draait de code zonder problemen:

Code:
Public Class Form1
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Do While (True)
            For i As Integer = 65 To 90
                If GetAsyncKeyState(i) Then
                    MessageBox.Show(Chr(i) + " is ingedrukt!")
                    Exit Sub
                End If
            Next
        Loop
    End Sub
End Class

(stom voorbeeld, maar goed.)
 
Ik krijg toch nog steeds die fout hoor...
Ik werk met vs 2005 op een vista, kan het daar soms aan liggen ofzow?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan