Avatar billede kingmanon Nybegynder
07. februar 2003 - 10:45 Der er 7 kommentarer

SendMessage

Hejsa,

Jeg har lidt en svær en her, syntes jeg selv da, som jeg har fundet talrige løsningforslag på, uden at nogen af dem har virket for mig!
Det jeg gerne vil er at sende en keystate til et andet program, konstant! Sagt på en anden måde; Det mit program skal er at holde 'shift' nede hele tiden når et bestemt vindue er til stede!

Men hvordan?

Mit gæt er findwindow + sendmessage, men kan sgi ikke få det til at fungere :(
Avatar billede somaliomar Praktikant
07. februar 2003 - 11:36 #1
Hvordan ser da din nuværende kode ud?
Avatar billede kingmanon Nybegynder
07. februar 2003 - 11:38 #2
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
      (ByVal lpClassName As String, ByVal lpWindowName As String) _
        As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
        lParam As Any) As Long

Const WM_KEYDOWN = &H100

Private Sub Command1_Click()

Dim myHandle As Long

myHandle = FindWindow(vbNullString, "Untitled - Notepad")
Call SendMessage(myHandle, WM_KEYDOWN, Asc("debug"), 0)

End Sub
Avatar billede somaliomar Praktikant
07. februar 2003 - 11:42 #3
Prøv med
PostMessage(myHandle, WM_KEYDOWN, Asc("debug"), 0)

i stedet for
Call SendMessage(myHandle, WM_KEYDOWN, Asc("debug"), 0)
Avatar billede kingmanon Nybegynder
07. februar 2003 - 11:45 #4
Stadig intet
Avatar billede somaliomar Praktikant
07. februar 2003 - 12:22 #5
Hvad returner FindWindow(vbNullString, "Untitled - Notepad") ??
Avatar billede kingmanon Nybegynder
07. februar 2003 - 12:40 #6
Den retunere et handle, jeg har lavet tests på det:

If (Not myHandle = 0) Then
    Call PostMessage(myHandle, WM_KEYDOWN, Asc("debug"), 0)
Else
    MsgBox "Handle not found"
End If
Avatar billede somaliomar Praktikant
07. februar 2003 - 22:02 #7
Hmm... Så kan jeg ikke hjælpe mere... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester