Win32Net 1.2.0

.NET 5.0 .NET Core 3.1 .NET Framework 4.0
There is a newer version of this package available.
See the version list below for details.
dotnet add package Win32Net --version 1.2.0
NuGet\Install-Package Win32Net -Version 1.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Win32Net" Version="1.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Win32Net --version 1.2.0
#r "nuget: Win32Net, 1.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Win32Net as a Cake Addin
#addin nuget:?package=Win32Net&version=1.2.0

// Install Win32Net as a Cake Tool
#tool nuget:?package=Win32Net&version=1.2.0

介绍

Win32API的.NET下封装,包含

1: 常用win32的API的net封装
2:鼠标、键盘、热键hook钩子模块,
3:模拟键盘输入文字(支持各种字符文字、不同语言的文字)、模拟鼠标点击移动滚动等操作
4:延迟函数Delay方法
5.系统硬件信息

版本更新

v1.0.1

添加net40;net45;net48,暂时移除net6框架

v1.2.0

1.添加netcoreapp3.1;net6.0-windows框架支持;

2.增加Shell的API

3.增加系统硬件信息,CPU、内存使用率

安装教程

  1. Nuget搜索win32net,安装即可

使用说明

各种常用api

Win32命名空间下包含各种常用api,如:win32.User32.GetDesktopWindow()//获取桌面窗口句柄;

鼠标键盘钩子

Win32.Hooks,命名空间下包含鼠标键盘热荐的钩子相关类。

例如鼠标钩子:

Win32.Hooks.MouseHook mouseHook = new Hooks.MouseHook();//实例化鼠标钩子对象
mouseHook.LeftDown += MouseHook_LeftDown;//鼠标左键按下的事件监听回调方法
mouseHook.Start();//开始监听
mouseHook.Stop();//停止监听
Win32.Input.Keyboard.KeyDown(System.Windows.Forms.Keys.Enter);//按回车键
Win32.Input.Mouse.LeftClick(150, 100);//鼠标左键单击
Win32.Input.Wait.Delay(1500);//延迟1500毫秒
Win32.Input.Keyboard.Type("输入文字1234abc");//模拟输入文字,支持各种语言文字字符

全局快捷键注册

//WPF 窗口句柄
//IntPtr hwnd =   new WindowInteropHelper(WPFWindow对象).Handle;
//winform 窗口句柄
 IntPtr hwnd = this.Handle;
  //实例化热键对象,需要一个句柄,用于接收消息
 Win32.Hooks.SystemHotKey systemHotKey = new Win32.Hooks.SystemHotKey(hwnd);
//热键id,要求唯一
 int hotKeyId = 5000;
//注册Alt+Q快捷键
systemHotKey.AddHotKey(hotKeyId, Win32.KeyModifiers.Alt, Keys.Q,
 () =>
 {
 MessageBox.Show("你按了Alt+Q快捷键");
 }
);
//注册ESC快捷键
 systemHotKey.AddHotKey(hotKeyId + 1, Win32.KeyModifiers.None, Keys.Escape,
 () =>
 {
 this.Close();
 }
 );

系统硬件信息

SystemInfo systemInfo = new SystemInfo();
richTextBox1.AppendText("操作系统:" + systemInfo.operatingSystem.Caption + "\n");
richTextBox1.AppendText("系统ID:" + systemInfo.operatingSystem.SerialNumber + "\n");
richTextBox1.AppendText("操作系统平台:" + systemInfo.operatingSystem.OSLevel + "\n");
richTextBox1.AppendText("系统安装时间:" + systemInfo.operatingSystem.InstallDate + "\n");
richTextBox1.AppendText("系统最近启动时间:" + systemInfo.operatingSystem.LastBootUpTime + "\n");
richTextBox1.AppendText("系统时间:" + systemInfo.operatingSystem.LocalDateTime + "\n");
richTextBox1.AppendText("CPU:" + systemInfo.processor.Name + "\n");
richTextBox1.AppendText("CPU厂商:" + systemInfo.processor.Manufacturer + "\n");
richTextBox1.AppendText("CPU序列号:" + systemInfo.processor.SerialNumber + "\n");
richTextBox1.AppendText("物理内存:" + systemInfo.memory.TotalPhysicalMemory + "\n");

// CPU使用率,一个回调,1秒一次,可取消
SystemInfo.CpuUsageOnChanged

// 内存使用率,需要自己间隔一定时间获取,如200毫秒
 Win32.SystemInfo.MemoryUsage + "%";

Product Versions
.NET net5.0 net5.0-windows net5.0-windows7.0 net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net6.0-windows7.0 net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows net7.0-windows7.0
.NET Core netcoreapp3.1
.NET Framework net40 net403 net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 net481
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

  • .NETFramework 4.0

    • No dependencies.
  • .NETFramework 4.5

    • No dependencies.
  • .NETFramework 4.6.1

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • net5.0-windows7.0

  • net6.0-windows7.0

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.0 260 11/25/2022
1.2.0 624 12/11/2021
1.0.1 2,412 11/25/2021
1.0.0 798 11/21/2021