2016-08-02 4 views
0

私は他のアプリケーションでマウスのプレスをシミュレートする必要があるVB.Netでデスクトップアプリケーションを構築しています。ここで私はこれまで持っているコードです:マウスのダウンをシミュレートしようとしましたが、スタックのアンバランスエラーが発生しました。おそらく間違った変数とは?

:私は、エラーメッセージが出てい、しかし

mouse_event(MOUSEEVENTF_LEFTDOWN, Cursor.Position.X, Cursor.Position.Y, 0, 0) 

:私はそれを呼んでいるとき、今

Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer) 
Public Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down 
Public Const MOUSEEVENTF_LEFTUP = &H4 ' left button up 
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down 
Public Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up 
Public Const MOUSEEVENTF_RIGHTDOWN = &H8 ' right button down 
Public Const MOUSEEVENTF_RIGHTUP = &H10 ' right button up 

、私はこれを行います

のPInvoke関数の呼び出しは、アンバランスなスタック

を持っている私はいくつかの研究を行ってきたと私は信じていunderstそれはどういう意味ですか、私はそれを直すことはできません。

私はすべての整数値でLong.Parse(value)を実行しようとしましたが、まだエラーが発生します。

誰でも修正を提案できますか?

さらに詳しい情報が必要な場合は、お知らせください。

  • のVisual Studio 2010
  • VB.NET 4.5
+1

あなたのAPIコールは、VB6っぽい見えます。参照[カーソル位置でダブルクリックする方法](http://stackoverflow.com/a/24291099/719186) – LarsTech

+0

私はハハを知っている、それはかなりVB6-ishです。私はVB.Netに完全に変換する方法を見つけていない、私はベストを尽くした! –

+0

@LarsTechそれを修正しました!ありがとうございました:D –

答えて

0

問題は、それは非常にVB6-Yでした。

ここに更新されたコードがあります。

Public Declare Sub mouse_event Lib "User32.dll" Alias "mouse_event" (ByVal dwFlags As UInt32, ByVal dx As UInt32, ByVal dy As UInt32, ByVal dwData As UInt32, ByVal dwExtraInfo As Int32) 
Public Const MOUSEEVENTF_LEFTDOWN As UInt32 = &HE0002 
Public Const MOUSEEVENTF_LEFTUP As UInt32 = &HE0004 
Public Const MOUSEEVENTF_RIGHTDOWN As UInt32 = &HE0008 
Public Const MOUSEEVENTF_RIGHTUP As UInt32 = &HE0010 

LarsTech

のおかげ
関連する問題