マウスポインタの移動速度取得と設定 <TOP>
マウスポインタの移動速度取得と設定を実行します。
SystemParametersInfo システム全体に関するパラメータを取得・設定
SPI_GETMOUSESPEED(112)
マウスポインタのスピードを取得
SPI_SETMOUSESPEED(113)
マウスポインタのスピードを設定
SPIF_SENDWININICHANGE(&H2)
全てのアプリケーションに通知して更新
SPIF_UPDATEINIFILE(&H1)
ユーザープロファイルの更新を指定
'================================================================ '= マウスポインタの移動速度取得と設定
'= (MouseSpeed.bas) '================================================================ #include "Windows.bi" ' システム全体に関するパラメータを取得・設定 Declare Function Api_SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uiAction&, ByVal uiParam&, pvParam As Any, ByVal fWinIni&) #define SPI_GETMOUSESPEED 112 'マウスポインタのスピードを取得 #define SPI_SETMOUSESPEED 113 'マウスポインタのスピードを設定 #define SPIF_SENDWININICHANGE &H2 '全てのアプリケーションに通知して更新する #define SPIF_UPDATEINIFILE &H1 'ユーザープロファイルの更新を指定する定数の宣言 Var Shared Text1 As Object Var Shared Edit1 As Object Var Shared Button1 As Object Var Shared Button2 As Object Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14 Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 Button2.Attach GetDlgItem("Button2") : Button2.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var Speed As Long Var Ret As Long 'ポインタの移動速度を取得 Ret = Api_SystemParametersInfo(SPI_GETMOUSESPEED, 0, Speed, 0) 'ポインタの移動速度を表示 Text1.SetWindowText Str$(Speed) End Sub '================================================================ '= '================================================================ Declare Sub Button2_on edecl () Sub Button2_on() Var Speed As Long Var Ret As Long Speed = Val(Edit1.GetWindowText) If Speed < 1 Or Speed > 20 Then A% = MessageBox("", "設定範囲:1〜20", 0, 2) Exit Sub End If 'ポインタの移動速度を設定 Ret = Api_SystemParametersInfo(SPI_SETMOUSESPEED, 0, ByVal Speed, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) End Sub '================================================================ '= '================================================================ Declare Sub Edit1_Change edecl () Sub Edit1_Change() Text1.SetWindowText "" End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End