VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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

宜しくお願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -