用于交换鼠标按钮的命令行

用于交换鼠标按钮的命令行

作为无权访问 reg 命令的非管理员用户,我该如何将鼠标按钮换回来,以便主按钮为左键。

命令

rundll32.exe user32.dll,SwpmMouseButton

将把主按钮设置为右按钮。我尝试调用它两次,但它没有切换回来。我试过

rundll32.exe user32.dll,SwapMouseButton 0
rundll32.exe user32.dll,SwapMouseButton 1

但主按钮仍是右按钮。从命令行,是否可以将按钮交换回来,使左按钮成为主按钮。

如果无法从 cmd 执行此操作,可以使用 powershell 执行此操作吗?

答案1

看起来不能通过这种方式来完成,因为 rundll32.exe 不解析 1 或 0。 https://stackoverflow.com/questions/4806575/how-do-i-use-rundll32-to-swapmousebutton

另一种方法是使用 powershell add-type 命令。假设脚本名为 swap.ps1

# Define the parameter
param (
    [string]$side = "L"
)
# Create an external definition
$swapbuttons = @'
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 swap);
'@
# Add class
$swapper = Add-Type -MemberDefinition $swapbuttons -Name "swap" -Namespace "user" -PassThru
$setting = if ($side -eq "L") {0} else {1}
$result = $swapper::SwapMouseButton($setting)

切换到左侧

.\swap.ps1 大号

相关内容