Avatar billede tubber Juniormester
29. juni 2008 - 00:55 Der er 7 kommentarer og
1 løsning

Problemer med PostMessage

Jeg har problemer med PostMessage

Jeg har følgende kode:

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Dim myhWnd As Long

Private Const VB_KEYPRESS As Long = &H100

Private Sub Command1_Click()
myhWnd = FindWindow(vbNullString, "Reciving program")
PostMessage myhWnd, VB_KEYPRESS, Chr(52), 0
End Sub

Men der sker ikke ret meget når jeg trykker på knappen.

Jeg har prøvet med en msgbox for at se om den finder vinduet, og så vidt jeg ved betyder hvilken som helst værdi <> 0 at vinduet/programmet findes......

Nogen der skulle ligge inde med forslag til hvad der kan være galt ?

Mvh
Tubber
Avatar billede virtual1ty Nybegynder
29. juni 2008 - 01:04 #1
Skal dette:

PostMessage myhWnd, VB_KEYPRESS, Chr(52), 0

ikke rettes til:

PostMessage(myhWnd, VB_KEYPRESS, Chr(52), 0)
Avatar billede tubber Juniormester
29. juni 2008 - 01:09 #2
Then i get an error about = missing
Avatar billede tubber Juniormester
29. juni 2008 - 09:23 #3
I could use AppActivate and SendKeys if it can be done when the computer is locked. Any1 know if it can be done?
Avatar billede tubber Juniormester
29. juni 2008 - 09:32 #4
sorry har skrevet en del på engelsk på det sidste så kom til at slå over.

I får det lige på dansk.

virtual1ty: så får jeg en fejl - expresion = exspected - eller noget i den retning

Jeg kan bruge AppActivate og SendKeys hvis det kan lade sig gøre at sende keystrokes selv om computeren er låst.

Nogen der ved om det er muligt ?
Avatar billede virtual1ty Nybegynder
29. juni 2008 - 14:02 #5
Prøv:

Dim retVal As Long

og så:

Private Sub Command1_Click()
myhWnd = FindWindow(vbNullString, "Reciving program")
retVal = PostMessage myhWnd, VB_KEYPRESS, Chr(52), 0
End Sub

eller:

retVal = PostMessage(myhWnd, VB_KEYPRESS, Chr(52), 0)

retVal vil så indeholde et nummer bagefter:

0 = Funktionen fejlede
Alt over 0 = Funktionen lykkedes
Avatar billede tubber Juniormester
29. juni 2008 - 15:25 #6
Det ser ud til funktionen lykkedes, men stadig ikke nogen action i det program der modtager beskeden.

Jeg går ud fra det den sender er et keypress og ikke en tekststreng er det korekt ?
Avatar billede tubber Juniormester
03. juli 2008 - 17:50 #7
Kan ikke få det til at virke, men da det skulle bruges her og nu, har jeg lavet en løsning med AppActivate og SendKeys
Avatar billede tubber Juniormester
03. juli 2008 - 17:50 #8
Lukker
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