SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

VB.NETによるマウス設定の変更

ダブルクリックの速度を変更する

 ダブルクリックの速度を取得するには、HKEY_CURRENT_USER¥Control Panel¥Mouse内のDoubleClickSpeed設定を問い合わせます。ダブルクリックの速度を変更するには、そこに値を書き込みます。

Private Sub btnGetDoubleClickSpeed_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles btnGetDoubleClickSpeed.Click
'Open Registry Key
Dim NewKey As RegistryKey = _
   Registry.CurrentUser.OpenSubKey("Control Panel¥¥Mouse", True)
'Get Value
Dim GetVal As String = _
   CType(NewKey.GetValue("DoubleClickSpeed"), String)

'Update Appropriate TextBox Display
txtDoubleClickSpeed.Text = GetVal
End Sub

Private Sub btnChangeDoubleClickSpeed_Click(ByVal sender _
   As System.Object, _
   ByVal e As System.EventArgs) Handles btnChangeDoubleClickSpeed.Click
'Open Registry Key
Dim NewKey As RegistryKey = _
   Registry.CurrentUser.OpenSubKey("Control Panel¥¥Mouse", True)
'Set Double-Click Speed
NewKey.SetValue("DoubleClickSpeed", txtDoubleClickSpeed.Text)

'Max (Fastest) = 200
'Min (Slowest) = 900
End Sub

 DoubleClickSpeedとして有効な値の範囲は200(最速)~900(最遅)です。

クリックロックを適用する

 これは少し注意を要する箇所です。クリックロックをオンにするには、HKEY_CURRENT_USER¥Control Panel¥Desktop内のUserPreferencesMask設定を変更する必要があります。少し注意を要すると言ったのは、この設定がバイナリ値を扱うものだからです。したがって、設定値を問い合わせるには、この値の列を適切にキャストする必要があります。また、値を設定するには、適切なバイナリ列を正しいキャスト値に変更する必要があります。これは次のようにして行います。

Private Sub btnGetClickLock_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles btnGetClickLock.Click
'Open Registry Key
Dim NewKey As RegistryKey = _
   Registry.CurrentUser.OpenSubKey("Control Panel¥¥Desktop", True)

'Check Type Of Value In UserPreferencesMask
If NewKey.GetValueKind("UserPreferencesMask") = _
   RegistryValueKind.Binary Then
'Get Current Value
Dim data As Byte() = _
   DirectCast(NewKey.GetValue("UserPreferencesMask"), Byte())

If data(1) = 190 Then          'Click Lock Active?
chkClickLock.Checked = True    'Update Display
Else
chkClickLock.Checked = False
End If
End If

End Sub

'Open Registry Key
Private Sub btnChangeClickLock_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles btnChangeClickLock.Click
Dim NewKey As RegistryKey = _
   Registry.CurrentUser.OpenSubKey("Control Panel¥¥Desktop", True)

'Check Type Of Value In UserPreferencesMask
If NewKey.GetValueKind("UserPreferencesMask") = _
   RegistryValueKind.Binary Then
'Get Current Value
Dim data As Byte() = _
   DirectCast(NewKey.GetValue("UserPreferencesMask"), Byte())

data(1) = 190                                   ' Activate Click Lock
NewKey.SetValue("UserPreferencesMask", data)    'Update Registry
End If
End Sub

マウスポインタの軌跡を変更する

 Control Panel¥Mouseサブキーの下のMouseTrails設定が設定されているかどうかを調べ、その値を利用する必要があります。これを変更するには、次のようにして2(最短)~7(最長)の範囲の値を与える必要があります。

Private Sub btnGetMouseTrails_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles btnGetMouseTrails.Click
'Open Registry Key
Dim NewKey As RegistryKey = _
   Registry.CurrentUser.OpenSubKey("Control Panel¥¥Mouse", True)

'Check For Values
If Not NewKey.GetValue("MouseTrails") = _
   String.Empty AndAlso NewKey.GetValue("MouseTrails") > 0 Then

'Get Setting
Dim GetVal As String = CType(NewKey.GetValue("MouseTrails"), String)
chkMouseTrails.Checked = True    'Update Display
txtMouseTrails.Text = GetVal
End If
End Sub

Private Sub btnChangeMouseTrails_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles btnChangeMouseTrails.Click
'Open Registry Key
Dim NewKey As RegistryKey = _
   Registry.CurrentUser.OpenSubKey("Control Panel¥¥Mouse", True)

'Activate Mouse Trails & Length Of Trails
If chkMouseTrails.Checked Then _
   NewKey.SetValue("MouseTrails", txtMouseTrails.Text)
'Max = 7
'Min = 2
End Sub

次のページ
マウスポインタの影を有効にする

この記事は参考になりましたか?

japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Hannes du Preez(Hannes du Preez)

プログラミングトレーナー。プログラミングを最大の趣味とする。Visual Basic 5からプログラミングを始め、Visual Basic 6.0、Visual C++ 6.0、Visual Basic .NETでアプリケーションを開発。プログラミングの知識はすべて独学によるもので、CodeGuru...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3465 2009/02/16 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー