当前位置: 首页 > news >正文

做网站卖高仿链接买卖

做网站卖高仿,链接买卖,制作美食,网站等级保护测评必须做吗在 C# 开发的众多应用场景中#xff0c;获取系统信息以及监控用户操作有着广泛的用途。比如在系统性能优化工具中#xff0c;需要实时读取 CPU、GPU 资源信息#xff1b;在一些特殊的输入记录程序里#xff0c;可能会涉及到键盘监控#xff1b;而在图形界面开发中#xf… 在 C# 开发的众多应用场景中获取系统信息以及监控用户操作有着广泛的用途。比如在系统性能优化工具中需要实时读取 CPU、GPU 资源信息在一些特殊的输入记录程序里可能会涉及到键盘监控而在图形界面开发中获取屏幕大小是基础操作。本文将详细介绍如何使用 C# 来实现这些功能助力大家在开发中更好地与系统底层进行交互。 一、C# 监控键盘 1. 原理与实现思路 在 Windows 系统下可以通过 Windows API 来实现键盘监控。需要使用SetWindowsHookEx函数来设置一个钩子当键盘事件发生时系统会调用我们定义的回调函数来处理这些事件。 2. 代码实现 首先需要引入System.Runtime.InteropServices命名空间以便调用 Windows API。 using System;using System.Runtime.InteropServices;class KeyboardMonitor{// 定义委托类型private delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);// 定义钩子句柄private static IntPtr hHook IntPtr.Zero;// 导入SetWindowsHookEx函数[DllImport(user32.dll, CharSet CharSet.Auto, SetLastError true)]private static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hMod, uint dwThreadId);// 导入UnhookWindowsHookEx函数[DllImport(user32.dll, CharSet CharSet.Auto, SetLastError true)][return: MarshalAs(MarshalType.Bool)]private static extern bool UnhookWindowsHookEx(IntPtr hhk);// 导入CallNextHookEx函数[DllImport(user32.dll, CharSet CharSet.Auto, SetLastError true)]private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);// 导入GetModuleHandle函数[DllImport(kernel32.dll, CharSet CharSet.Auto, SetLastError true)]private static extern IntPtr GetModuleHandle(string lpModuleName);// 定义钩子类型private const int WH_KEYBOARD_LL 13;// 定义键盘消息常量private const int WM_KEYDOWN 0x0100;private const int WM_KEYUP 0x0101;// 定义回调函数private static IntPtr KeyboardHookProc(int nCode, IntPtr wParam, IntPtr lParam){if (nCode 0){if (wParam (IntPtr)WM_KEYDOWN || wParam (IntPtr)WM_KEYUP){int vkCode Marshal.ReadInt32(lParam);Console.WriteLine($键盘事件: {(wParam (IntPtr)WM_KEYDOWN? 按下 : 松开)}键码: {vkCode});}}return CallNextHookEx(hHook, nCode, wParam, lParam);}// 安装钩子public static void StartMonitoring(){using (System.Diagnostics.Process curProcess System.Diagnostics.Process.GetCurrentProcess())using (System.Diagnostics.ProcessModule curModule curProcess.MainModule){hHook SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, GetModuleHandle(curModule.ModuleName), 0);if (hHook IntPtr.Zero){Console.WriteLine(设置钩子失败。);}}}// 卸载钩子public static void StopMonitoring(){if (hHook! IntPtr.Zero){UnhookWindowsHookEx(hHook);hHook IntPtr.Zero;}}} 在Main方法中可以调用KeyboardMonitor.StartMonitoring()来开始监控键盘调用KeyboardMonitor.StopMonitoring()停止监控。 二、读取 CPU、GPU 资源信息 1. 使用 PerformanceCounter 读取 CPU 信息 PerformanceCounter类是.NET 框架提供的用于读取系统性能计数器的工具。通过它可以方便地获取 CPU 使用率等信息。 using System;using System.Diagnostics;class CpuMonitor{private PerformanceCounter cpuCounter;public CpuMonitor(){cpuCounter new PerformanceCounter(Processor, % Processor Time, _Total);}public float GetCpuUsage(){return cpuCounter.NextValue();}} 在Main方法中使用如下 CpuMonitor cpuMonitor new CpuMonitor();while (true){float cpuUsage cpuMonitor.GetCpuUsage();Console.WriteLine($当前CPU使用率: {cpuUsage}%);System.Threading.Thread.Sleep(1000);} 2. 使用第三方库读取 GPU 信息 读取 GPU 信息相对复杂一些通常需要借助第三方库比如OpenHardwareMonitor。首先通过 NuGet 安装OpenHardwareMonitor库。 using OpenHardwareMonitor.Hardware;using System;class GpuMonitor{private Computer computer;public GpuMonitor(){computer new Computer();computer.GPUEnabled true;computer.Open();}public void PrintGpuInfo(){foreach (IHardware hardware in computer.Hardware){if (hardware.HardwareType HardwareType.GpuNvidia || hardware.HardwareType HardwareType.GpuAmd){hardware.Update();foreach (ISensor sensor in hardware.Sensors){if (sensor.SensorType SensorType.Load){Console.WriteLine($GPU负载: {sensor.Value}%);}else if (sensor.SensorType SensorType.Temperature){Console.WriteLine($GPU温度: {sensor.Value}℃);}}}}}~GpuMonitor(){computer.Close();}} 在Main方法中调用 GpuMonitor gpuMonitor new GpuMonitor();gpuMonitor.PrintGpuInfo(); 三、获取屏幕大小 在 C# 中可以使用System.Windows.Forms.Screen类来获取屏幕相关信息包括屏幕大小。 using System;using System.Windows.Forms;class ScreenInfo{public static void GetScreenSize(){Screen primaryScreen Screen.PrimaryScreen;Console.WriteLine($屏幕宽度: {primaryScreen.Bounds.Width} 像素);Console.WriteLine($屏幕高度: {primaryScreen.Bounds.Height} 像素);}} 在Main方法中调用ScreenInfo.GetScreenSize()即可获取屏幕大小信息。 四、总结 通过以上方法我们利用 C# 实现了监控键盘、读取 CPU 和 GPU 资源信息以及获取屏幕大小的功能。这些功能在系统性能分析、特殊输入处理以及图形界面适配等方面都有着重要的应用。在实际开发中大家可以根据具体需求对这些功能进行拓展和优化。如果在实践过程中遇到问题或者有更好的实现思路欢迎在评论区交流分享。
http://www.w-s-a.com/news/527663/

相关文章:

  • 洛阳霞光建设网站html做分模块的网站
  • 域名建议网站wordpress 伪静态html
  • 网站风格化设计方案免费模式营销案例
  • 凤翔网站建设农村建设自己的网站首页
  • 怎样用网站做单笔外贸建筑设计公司合作加盟
  • 建网站买的是什么网站开发三层结构
  • wordpress图纸管理网站2345网址导航智能主版
  • 想调用等三方网站数据该怎么做培训课程
  • 高端营销网站建设wordpress咨询
  • 网站搜索框如何做创业怎么做网站
  • 网站手机版管理链接产品推广找哪家公司
  • vuejs 可做网站吗蜘蛛互联网站建设
  • 沈阳网站备案查询17zwd一起做业网站
  • 石家庄大型公司建站广州设计网站培训学校
  • 如何让百度收录中文域名网站wordpress前台管理评论
  • 铁岭 建筑公司网站 中企动力建设佛山app开发公司
  • 网站开发用的电脑深圳专业网站建设服务
  • 内容营销价值wordpress博客优化插件
  • 最优惠的郑州网站建设淘宝网商城
  • 做封面网站企业网站优化服务商
  • 电子商务网站设计是什么蚌埠铁路建设监理公司网站
  • .name后缀的网站做房产网站多少钱
  • 手机上传网站源码网站app封装怎么做
  • 做的网站放在阿里云网站建设投标书范本
  • 做文化传播公司网站wordpress仿简书
  • 什么网站有题目做西宁网站制作哪里好
  • 网站上添加图片的原则优易主机 wordpress
  • 用php做的网站源代码那里有做像美团的网站的
  • 网站建设百科有什么做兼职的网站
  • 创造网站电商网站建设方案道客巴巴