マウス位置の設定<応用>
<マウスユーティリティソフトを作ろう>
宣 言 |
(Private) Declare Function SetCursorPos& Lib "user32" (ByVal x As Long, ByVal y As Long) |
引 数 説 明 |
x |
Long |
マウスの移動する場所のx位置を指定(単位:ピクセル) |
y |
Long |
マウスの移動する場所のy位置を指定(単位:ピクセル) |
サ ン プ ル プ ロ グ ラ ム |
まず、VisualBasicを起動してプロジェクトを新しく作成してください。そして次のコードを貼り付けてください。実行するとマウスが端に来ると反対側から出てくるようになります。ドラッグアンドドロップなどが容易になります。このプログラムはコンパイルするだけで実用ソフトとして使えるようになります。
動作確認:Visual Basic 5.0(Visual Basic 4.0でも問題なく動作するはずです),Windows98
Private Declare Function SetCursorPos& Lib "user32" (ByVal x As Long, ByVal
y As Long) Private Declare Function GetCursorPos& Lib "user32" (lpPoint As POINTAPI) Private Sub Form_Load() Form1.Show Dim i As Integer'変数の宣言 Dim CRT_X As Integer Dim CRT_Y As Integer Dim Pos As POINTAPI CRT_X = Screen.Width / Screen.TwipsPerPixelX'今の画面解像度の取得(x) CRT_Y = Screen.Height / Screen.TwipsPerPixelY'今の画面解像度の取得(y) Do GetCursorPos Pos'現在のマウス位置を取得 DoEvents 'マウスが左端に来たらマウスを右端に移動 If Pos.x = 0 Then SetCursorPos CRT_X - 2, Pos.y 'マウスが右端に来たらマウスを左端に移動 If Pos.x = CRT_X - 1 Then SetCursorPos 1, Pos.y 'マウスが上端に来たらマウスを下端に移動 If Pos.y = 0 Then SetCursorPos Pos.x, CRT_Y - 2 'マウスが下端に来たらマウスを上端に移動 If Pos.y = CRT_Y - 1 Then SetCursorPos Pos.x, 1 Loop Until i <> 0 End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub |