|
分類:[VB.NET/VB2005 以降]
メモ帳をアクティブにしている状態で、ボタン1をマウスが通過すると、メモ帳のハンドルを取得します。 次に違うウィンドウをアクティブにした後に、ボタン2をクリックすると、メモ帳をアクティブにしたいのですが、 以下のエラーが出ますが意味がわかりませんので、宜しくお願い致します。 *** SetForegroundWindow' がスタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲット シグネチャに一致していないことが原因として考えられます。呼び出し規約、および PInvoke シグネチャのパラメーターがターゲットのアンマネージ シグネチャに一致していることを確認してください。 *** Imports System.Text Public Class Form1 Public awhund_m As Long 'アクティブなハンドルメモ Declare Function GetForegroundWindow Lib "user32" () As Long Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click SetForegroundWindow(awhund_m) End Sub
Private Sub Button1_MouseMove(sender As Object, e As MouseEventArgs) Handles Button1.MouseMove Dim AWhwnd As Long 'アクティブウィンドウのハンドルを取得 AWhwnd = GetForegroundWindow() awhund_m = AWhwnd 'アクティブなハンドルメモ MsgBox(AWhwnd) End Sub End Class
|