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

投稿日: 2005/01/07(Fri) 14:45
投稿者花ちゃん
Eメール
URL
タイトルRe^4: IEへの文字列転送

> hhttp://www.bcap.co.jp/hanafusa/VBHLP/keybdeve.htm

上記のサンプルでは少し複雑なので下記を試して見て下さい。
Commandボタンを押してから3秒以内に書き込みたいテキストボックスを
クリックして見て下さい。
そのテキストボックスに[テスト書き込み]と書き込まれるはずですが。

Option Explicit
Private Declare Function GetWindowText Lib "user32" _
    Alias "GetWindowTextA" (ByVal hwnd As Long, _
    ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Private Sub Command1_Click()
    Dim AWhwnd    As Long
    Dim lpString  As String * 255
    Dim lngResult As Long
    Dim Title     As String
    WaitTime 3000                   '3秒後に実施
    AWhwnd = GetForegroundWindow    'ハンドルを取得
    'アクティブウインドウのタイトルを取得
    lngResult = GetWindowText(AWhwnd, lpString, 255)
    '取得したタイトルを表示
    Title = Left$(lpString, InStr(lpString, vbNullChar) - 1)
    AppActivate Title
    WaitTime 100                   'アクティブになる迄待つ
    SendKeys "テスト書き込み", True
End Sub

Private Sub WaitTime(st As Long)
'指定の時間待つ(1/1000 秒単位で指定)
    Dim lngSt As Long
    lngSt = timeGetTime
    Do While timeGetTime - lngSt < st
        DoEvents
    Loop
End Sub

上記コードは、動作を確認するためのコードで実用は色々問題があるので・・・
勉強用の教材という事でお願いします。


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

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

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