DOBON.NET DOBON.NETプログラミング掲示板過去ログ

テラタームに矢印キーを送信したい

環境/言語:[WinXP, VB2005]
分類:[.NET]

テラタームに文字列の送信は出来たのですが、
矢印キーを送信したいと考えていますがうまくいきません。

----
※hWndはテラタームのウィンドウハンドルです。

Public Const WM_KEYDOWN As Short = &H100S
Public Const WM_KEYUP As Short = &H101S
Public Const WM_CHAR As Short = &H102S

Public Const VK_UP As Short = &H26S

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

PostMessage(hWnd, WM_CHAR, Asc(e.KeyChar), 1)

End Sub

Private Sub Form1_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles Me.KeyDown

If (e.KeyCode = Keys.Up) Then

PostMessage(hWnd, WM_KEYDOWN, VK_UP, 1)
PostMessage(hWnd, WM_KEYUP, VK_UP, 1)

End If

End Sub
----
どこがいけないのでしょうか?
アドバイスお願い致します。
■No18825に返信(タプーリチーズさんの記事)
> テラタームに文字列の送信は出来たのですが、
> 矢印キーを送信したいと考えていますがうまくいきません。
>
> ----
> ※hWndはテラタームのウィンドウハンドルです。
>
> Public Const WM_KEYDOWN As Short = &H100S
> Public Const WM_KEYUP As Short = &H101S
> Public Const WM_CHAR As Short = &H102S
>
> Public Const VK_UP As Short = &H26S
>
> Private Sub Form1_KeyPress(ByVal sender As Object, _
> ByVal e As System.Windows.Forms.KeyPressEventArgs) _
> Handles Me.KeyPress
>
> PostMessage(hWnd, WM_CHAR, Asc(e.KeyChar), 1)
>
> End Sub
>
> Private Sub Form1_KeyDown(ByVal sender As Object, _
> ByVal e As System.Windows.Forms.KeyEventArgs) _
> Handles Me.KeyDown
>
> If (e.KeyCode = Keys.Up) Then
>
> PostMessage(hWnd, WM_KEYDOWN, VK_UP, 1)
> PostMessage(hWnd, WM_KEYUP, VK_UP, 1)
>
> End If
>
> End Sub
> ----
> どこがいけないのでしょうか?
> アドバイスお願い致します。
>

ぶっちゃけ、この部分のソースを載せてもどこが悪いかなんて判定できませんよ。
テラタームのハンドルも実際に取れてるかどうかもこの内容からは解らないですし…
とりあえず、ご自身で確認してみてください。たとえば、
・テラタームのハンドルが実際に取れてるかどうかをデバッグする
・PostMessageのAPIの記述は正しいのかどうか
・送信メッセージをスパイでチェックする
などなど、他にもまだまだあると思いますが、直ぐに思いついた内容を記載しときます。
> ぶっちゃけ、この部分のソースを載せてもどこが悪いかなんて判定できませんよ。
> テラタームのハンドルも実際に取れてるかどうかもこの内容からは解らないですし…
> とりあえず、ご自身で確認してみてください。たとえば、
> ・テラタームのハンドルが実際に取れてるかどうかをデバッグする

ハンドルは正しく取れています。
文字列の送信は成功しています。

> ・PostMessageのAPIの記述は正しいのかどうか

パラメータは意味が分からないところもありますが、
色々なHPを見よう見真似でやっています。

> ・送信メッセージをスパイでチェックする
> などなど、他にもまだまだあると思いますが、直ぐに思いついた内容を記載しときます。

SPY++と同様のアプリで、↑キーと同様にメッセージは送れてはいるのは確認済みなんですが。。。
そもそも、矢印キーの送信はこのやり方で良いのでしょうか?
デバッグのやり方ではなく、送信の仕方がしりたいのです。
お願い致します。
■No18845に返信(タプーリチーズさんの記事)
> そもそも、矢印キーの送信はこのやり方で良いのでしょうか?
> デバッグのやり方ではなく、送信の仕方がしりたいのです。

違う単純なアプリケーションで実際に試せば良いのではないでしょうか。
やはり、デバッグのやり方の回答になってしまうわけですが。
ぺがらぼさん
じゃんぬねっとさん

気にしていただいてどうもありがとうございました。
回答が得られないのでここを一旦閉めさせて頂きたいと思います。
(別なところで聞いて見ます)

<(_ _)>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板