3

Synapticsドライバーをインストールしたので、タッチパッドを手動で無効/有効にできます。

これが私がC#でタッチパッドを有効/無効にするために使用している方法です:

private void Switch_Mouse(int i = 0) // 1: Enable, 0: Disable
{
    Process.Start("control.exe", "main.cpl");
    Thread.Sleep(1000);
    int iHandle = FindWindow(null, "Mouse Properties");
    SetForegroundWindow(iHandle); // Line ABC
    SendKeys.Send("^+{TAB}");
    if (i == 1)
    {
        SendKeys.Send("%E");
    }
    else
    {
        SendKeys.Send("%D");
        SendKeys.Send("{Enter}");
    }
    SendKeys.Send("%A");
    SendKeys.Send("{Enter}");
}

キーストロークをマウスのプロパティに送信します。ただし、// ABC(上記の)ラベルが付いた行の後、マウスのプロパティアプリはフォーカスを失い、機能しなくなります。

C#でトラックパッドを有効/無効にする他の方法はありますか?

(OS:ウィンドウ32ビット)。

4

1 に答える 1

2

このフォーラムには、明らかに問題が解決されたトピックがあります(すべてVBですが、幸いC#への移植は非常に簡単です)-> SynapticsTouchpadの制御

タッチパッド関連のすべての処理はここから始まるようです。

SynAPICtrl1.Initialize
  SynAPICtrl1.Activate ' Activate to receive device notifications
  DeviceHandle = SynAPICtrl1.FindDevice(SE_ConnectionAny, SE_DevicecPad, -1)
  If DeviceHandle = -1 Then
    MsgBox "Unable to find a Synaptics cPad"
    End
  End If

  SynDeviceCtrl1.Select (DeviceHandle)
  SynDeviceCtrl1.Activate 'Activate to receive pointing packets

  ZTouchThreshold = SynDeviceCtrl1.GetLongProperty(SP_ZTouchThreshold)

Synaptics SDKから取得したもので、Synaptics SDKには、開発者向けマニュアルとともにここから入手できます。

于 2012-08-08T06:40:43.387 に答える