C#控制台程序实现鼠标左右手习惯切换

最近患上了鼠标手。比较疼,影响到了工作。 干脆左手用起了鼠标。

每次都要到控制面板去修改设定比较繁琐 所以决定写个小工具。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Reflection;

namespace Van
{
    class Program
    {
        static void Main(string[] args)
        {
            SwapButton();
        }

        [DllImport("user32.dll")]
        public static extern int SwapMouseButton(int bSwap);  

        public static void SwapButton()
        {
            Console.WriteLine("请输入L/R来切换左右手习惯。(L为左手习惯,R为右手习惯!)");
            String s = Console.ReadLine();
            switch (s.ToUpper())
            {
                case "L":
                    SwapMouseButton(1);
                    Console.WriteLine("左手习惯修改成功!请按任意键退出...");
                    Console.Read();
                    break;
                case "R":
                    SwapMouseButton(0);
                    Console.WriteLine("右手习惯修改成功!请按任意键退出...");
                    Console.Read();
                    break;
                default:
                    Console.WriteLine("您输入的格式不正确,请重新输入或者退出!");
                    SwapButton();
                    break;
            }
        }

    }
}

百度网盘地址:http://pan.baidu.com/s/1dD8NucL

时间: 2024-08-01 18:01:22

C#控制台程序实现鼠标左右手习惯切换的相关文章

使用C#: 自动切换鼠标的左右手习惯

不知道我得的是鼠标手,还是肩周炎. 长时间右手(或者左手)使用鼠标的话,那只胳膊便会不自在. 于是便有了切换鼠标主次要键的需求. [控制面板->鼠标]有更改它的设置,可点来点去让我觉得不够方便. 我需要的是“一个命令就能搞定它”,这样我就可以在命令行,或者程序加载器里面方便的运行他. 下面的代码便是要实现这一需求: 他是一个命令行程序.如果当前鼠标是右手习惯,则将鼠标习惯设置为左手,反之设置成右手习惯. 实现代码如下: C#代码   using System; using System.Runt

Windows控制台程序“选定模式”的问题

最近用Nodejs写了个代理程序,一直用的好好的,木有问题,今天突然发现不能用了,使用telnet去连代理的端口也能连通,可是服务就是不能正常使用,提示连接超时. 当时猜测是Nodejs的某个地方阻塞了,分析了下代码,怎么也想不明白不能有阻塞的地方啊. 又是各种倒腾,后来发现一个奇怪的问题,我把鼠标放到Nodejs的控制台上,默认进入了编辑模式,而且整个应用的标题变成了"选定 XXXX"这种形式,我想退出程序,需要按两次Ctrl+C,难道是这的问题? 又来有测试了下,果真还是这的问题,

控制台程序添加滚轮滑动支持

控制台程序默认只能通过拖动滚动条来查看窗口中打印的内容,操作起来十分不方便. 本文通过多线程技术为控制台窗体添加鼠标滚轮滑动功能.值得注意的是,在有内容输出时,窗口会自动定位到输出的光标处: 这种情况最好是先暂停住主线程,然后再滚动鼠标查看打印的内容,查看完毕后,再继续执行主线程. 首先,需要让控制台程序的屏幕缓冲区高度 > 窗口高度(此时窗口右侧会产生滚动条),否则无需滚动窗口. 下列代码实现了如下功能: (1)滚动鼠标滑动窗口 (2)按空格键,暂停/继续主线程 #include <wind

VB6 如何创建一个标准控制台程序

打开 VB6 并新建一个标准EXE程序,把窗口删掉,然后再加入一个模块. 在模块中加入AllocConsole.FreeConsole.SetConsoleTitle.Sleep的API声明: Public Declare Function AllocConsole Lib "kernel32.dll" () As LongPublic Declare Function FreeConsole Lib "kernel32.dll" () As LongPublic

VC++ TCP网络控制台程序

在Windows7系统下,采用工具为VS2008,Win32控制台应用程序,编写一个基于TCP的Client/Server网络程序. 1.服务器端代码 #include <WinSock2.h> #include <stdio.h> //VS2012创建的MFC Win32控制台应用程序中,此处默认包含的是#include "stdafx.h",其中stdio.h头文件已经被包含进stdafx.h中了,不再需要重复包含 #define SERVERPORT 60

Createprocess控制台程序输出重定向

在Windows编程中,并非每一个应用程序都需要一个图形用户界面(GUI),很多情况下,我们可以编写一个控制台应用程序,这样程序更小,加载更快,传输时间也短,同时也丝毫不牺牲程序应有的功能.这种程序特别适合那些在后台运行的程序,比如压缩.杀毒.上传下载等等.如果我们的确需要在GUI执行这些程序,以完成某些比如类似于磁盘格式化的功能,我们可以在GUI程序中创建一个新的进程,调用这些已有的控制台应用程序,帮助完成这些功能.然而令人失望的是,我们每次加载这些控制台应用程序时,图形程序总会在加载的过程中

C、C++控制台程序、Windows API程序、MFC程序理解与比较

在编程语言中,函数是一个很重要的概念,其身影无处不在.在面向过程的编程方式中,函数更是程序的基本构建模块,在面向对象的编程方式中,函数演变为类或对象的成员(当然也可以使用与类无关的函数).函数由函数头和函数体组成.函数头包括域属性(如external.static或类域).返回值类型.函数名.及参数.域属性包括其在多文件编程中的可见范围,是否是属于某一个类的成员?返回值类型是指函数返回的值的具体数据类型(可以理解为函数输出的一部分).函数名是函数保存在内存代码区的首地址,用于函数的调用及函数指针

windows下控制台程序实现窗口显示

windows下实现窗口显示,如果限定是C/C++语言,并且是原生Windows支持,需要使用GDI或GDI+.一般是在Visual Studio里新建Win32应用程序,而不是Win32 console application(控制台程序),然后使用GDI的一些API,例如CreateWindow.CreateWindowEx来实现窗口的创建.显示等. 实际上MSDN官方并没有说只能是Win32应用程序,控制台程序完全可以.个人并不习惯WinMain()函数,更习惯main(int argc,

VS2017新建windows控制台程序打印中文乱码问题

最近刚换上VS2017,由于手头又要做个MFC的程序,所以写控制台程序做功能测试,然后发现居然乱码了. 于是用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码 用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后 也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的. 打个比方,A用