不知道我得的是鼠标手,还是肩周炎。
长时间右手(或者左手)使用鼠标的话,那只胳膊便会不自在。
于是便有了切换鼠标主次要键的需求。
【控制面板->鼠标】有更改它的设置,可点来点去让我觉得不够方便。
我需要的是“一个命令就能搞定它”,这样我就可以在命令行,或者程序加载器里面方便的运行他。
下面的代码便是要实现这一需求:
他是一个命令行程序。如果当前鼠标是右手习惯,则将鼠标习惯设置为左手,反之设置成右手习惯。
实现代码如下:
using System;
using System.Runtime.InteropServices;
using Microsoft.Win32;
namespace SwapMouseModel
{
class Program
{
[DllImport("user32")]
public static extern int SwapMouseButton(int bSwap);
[DllImport("user32")]
public static extern int GetSystemMetrics(int nIndex);
//public readonly static int SM_SWAPBUTTON = 23;
public const int SM_SWAPBUTTON = 23;
public static void Main(string[] args)
{
var key = Registry.CurrentUser.CreateSubKey("Control Panel\\Mouse\\");
if (GetSystemMetrics(SM_SWAPBUTTON) == 0)
{
//case: right hand model, change to left hand model.
SwapMouseButton(1);
key.SetValue("SwapMouseButtons", "1", RegistryValueKind.String);
}
else
{
//case: left hand model, change to right hand model.
SwapMouseButton(0);
key.SetValue("SwapMouseButtons", 0, RegistryValueKind.String);
}
Console.WriteLine("end");
//Console.ReadLine();
}
}
}
总结下对C#新认识:
1. static与const不能同时修饰一个变量
类成员是const就自动是static。因此或者只用const, 或者可以用readonly static
2. SwapMouseButton Function
通过该链接可以展开查看“windows关于mouse”的api。
另外注意,该方法不会修改注册表。所以为了重启后修改依然有效,需要另行保存注册表设置。
3. GetSystemMetrics Function
通过该链接可以展开查看如何获得“其他类似的属性”
4. C#中可以使用var。
Google到的参考链接:
http://www.theeldergeek.com/forum/lofiversion/index.php?t10400.html
http://stackoverflow.com/questions/653911/swapping-left-and-right-mouse-button-in-net
分享到:
相关推荐
通过分析这个"C#鼠标自动点击助手源码"项目,我们可以学习到如何在C#中利用事件处理、API调用、定时器以及用户交互等技术实现自动化功能,这对于提升编程技能和理解系统底层工作原理都非常有帮助。同时,这样的项目...
右手鼠标用久了,用累了的话,切换左手鼠标来缓解一下鼠标手,本来切换需要上控制面板切换鼠标左右键又得改鼠标指针方案,来回这么改太麻烦了,而现有的切换鼠标工具只能切换鼠标左右键,所以就用c#写了这个工具,用...
在C#编程中,实现应用程序的中英文切换是一项常见的需求,尤其对于面向国际市场的软件来说。这个过程涉及到本地化和国际化( Localization and Internationalization,简称L10n和i18n),使得软件能够适应不同地区的...
以上就是"C#鼠标自动点击器"的一些核心技术和知识点,对于想要深入学习C#编程和系统级交互的开发者来说,这是一个很好的实践项目。通过这样的工具,不仅可以掌握C#编程,还能了解到Windows API调用、多线程编程以及...
描述中提到的“左手使用鼠标”和“同事临时操作”是问题的背景,即作者习惯使用左手操作鼠标,但当同事需要用右手操作时,需要在控制面板中进行设置,这给日常的工作带来了不便。为了解决这个问题,作者编写了一个...
描述中提到,“C#写的鼠标点击器,可以实现3个点的自动切换和左右键单双击等功能”,这表明该程序具备以下功能: 1. **多点切换**:用户可以预先设定三个不同的点击位置,程序会按照预设顺序在这些位置间自动切换...
本文将深入探讨如何利用C# WinForm开发一个鼠标自动点击程序,它类似于按键精灵,可以实现自动鼠标点击,提升用户在执行重复任务时的工作效率。 首先,我们要理解C# WinForm的基础。C#是微软推出的一种面向对象的...
本文将详细讲解如何实现C#应用程序中菜单、工具栏和按钮等控件的中英文切换功能。 首先,我们需要理解Winform中的本地化(Localization)概念。本地化是使软件适应特定文化、地区或法律要求的过程。在C#中,我们...
输入框自动切换中文(C#,winform)
"C# winfrom 图片切换特效"这个主题涵盖了如何在C# Winform程序中动态地、有特效地切换图片,例如水平(垂直)百叶窗效果和上下(左右)翻转效果。 首先,我们需要理解Winform中的PictureBox控件,它是用来显示图像...
【标题】"C# 鼠标左右键自动点击(剑灵力士卡刀辅助)源代码+编译好的EXE文件"所涉及的知识点主要包括以下几个方面: 1. **C#编程语言**:C#是一种面向对象的编程语言,由微软开发,用于构建Windows平台的应用程序。...
在编程领域,有时候我们需要模拟用户的鼠标行为,例如在自动化测试、游戏挂机或者用户界面自动化中。本资源提供了一个使用C#编写的源码,专门用于模拟鼠标点击和移动的操作。下面将详细介绍这个主题,以及如何利用C#...
开发平台:VS2008 实现功能: 记录鼠标点击次数 ...设置鼠标位置可以控制鼠标指定点击一个位置(慎用,设置的鼠标位置不是停止按钮处会导致程序无法停止,解决办法将停止按钮绑定快捷键,本人懒没有做)
总的来说,实现C#应用的多语言切换涉及资源文件的创建、`ResourceManager`的使用、UI元素的绑定以及根据用户选择动态切换语言。通过学习和实践这个"C#多语言切换"的demo,开发者能够掌握这一关键技能,为构建支持...
在本案例中,"C# 虚拟鼠标驱动源码" 提供了使用C#语言实现虚拟鼠标驱动的源代码。这种技术有着广泛的应用场景,例如自动化测试、远程控制、游戏辅助以及无障碍软件等。 首先,我们需要理解C#语言。C#是由微软开发的...
在C#编程中,开发人员经常需要实现屏幕截图功能,特别是在构建桌面应用或者自动化测试工具时。"C# 带鼠标屏幕截图"这个主题主要关注如何在截取屏幕图像时同时包含鼠标指针的显示。传统的C#图形(Graphics)类虽然...
【C# 鼠标点击器】是一种编程工具,它使用C#语言开发,能够模拟用户的鼠标动作,实现自动点击鼠标的左右键功能。在软件开发、自动化测试、游戏挂机等场景中,这种工具非常实用,能节省大量手动操作的时间。 在C#中...
在C#编程中,实现界面的中英文切换是一项常见的需求,尤其对于开发具有国际化的软件应用至关重要。这个"C#界面中英文切换Demo.zip"提供的示例应该包含了一个简单的C#项目,展示了如何在用户界面(UI)上动态地更改...
同时,通过实践这个项目,他们还能了解到如何在C#中使用定时器,处理鼠标事件,以及进行GUI界面的设计。总的来说,"C#绝对实用的鼠标自动点击器"是一个极好的学习和实践案例,对于提升编程技能大有裨益。
3. **鼠标事件模拟**:在C#中,可以使用`User32.dll`库中的API函数,如`SendInput`,来模拟鼠标的点击动作。`SendInput`函数可以发送鼠标输入事件,包括左键单击、右键单击以及双击等。 4. **多线程编程**:为了不...