tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル WndProc
投稿日: 2011/08/20(Sat) 14:50
投稿者nobu
こんにちは。お世話になります。

1.
下記の様なコードにて外部機器からの情報を受け取り Form1 上の Label に表示しています。
この間にも Form1 上の TextBox1 に文字を入力したいのですが、入力できません。
Me.KeyPreview = True はLoad 時に書いています。
TextBox1.Focus() を書いてもカーソルがTextBox1にあるだけで入力できません。
Timer2 が動いていない(外部機器からの情報を受け取っていない)時は
TextBox1 に文字を入力出来ます。

2.
Form1 終了時に WndProc を開放するにはどうすればよいでしょうか。

対応策をご指導願えれば幸いです。


    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

           ' cds に値をセットしてから

            Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA, Me.Handle, cds)

            If Not Hwnd2.Equals(IntPtr.Zero) Then
                SetForegroundWindow(Hwnd2)
            End If

    End Sub

    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

        If m.Msg = WM_COPYDATA Then
            Dim cds As COPYDATASTRUCT
            cds = CType(Marshal.PtrToStructure(m.LParam, GetType(COPYDATASTRUCT)), COPYDATASTRUCT)
            tmp_thw = Marshal.PtrToStringAnsi(cds.lpData)
        Else
            MyBase.WndProc(m)
        End If

    End Sub

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

古いスレッドにレスはつけられません。