投稿時間:2006/05/20(Sat) 17:00 投稿者名:いか
Eメール:
URL :
タイトル:sendmessageでファンクションキーの送信
VB6.0です。宜しくお願いします。 APIでファンクションキーの送信は出来るでしょうか?文字や例えばEnterキーなんかは文字コードでc hr(13) で送信していますが、ファンクションキーの送り方が分からないので、センドキーステートメントで SendKeys "{F3}"と送っていますが、少し不安なので、APIで送ることが出来ないかと思っ ています。
現在、以下のようなコードで送っています。 Sub 送信() Dim lngTargetWindowHandle As Long Dim strSendDataBuffer As String Dim lngSendDataBufferSize As Long Dim bytSendDataBuffer() As Byte Dim udtSendCopydata As COPYDATASTRUCT Dim lngResult As Long
cmd = Chr(13)'エンター
'文字列を送信するウィンドウのハンドルが取得できたときは If lngTargetWindowHandle <> 0 Then
' 送信する文字列を設定 strSendDataBuffer = StrConv(cmd, vbFromUnicode) strSendDataBuffer = strSendDataBuffer ' 送信する文字列のサイズを算出 lngSendDataBufferSize = LenB(strSendDataBuffer) + 1 ' COPYDATA構造体を設定 udtSendCopydata.dwData = 1 ' バッファのサイズ udtSendCopydata.cbData = lngSendDataBufferSize ' バッファの先頭アドレス udtSendCopydata.lpData = StrPtr(strSendDataBuffer)
' WM_COPYDATAメッセージを送信 lngResult = SendMessage(lngTargetWindowHandle, WM_COPYDATA, _ Form1.hwnd, udtSendCopydata) End If
End Sub
宜しくお願いします。
|