首页 > 系统相关 >让.NET 8 支持 Windows Vista RTM

让.NET 8 支持 Windows Vista RTM

时间:2024-05-05 09:01:21浏览次数:13  
标签:Windows Thunks YY RTM API NET

众所周知,从 Windows 的每次更新又会新增大量 API,这使得兼容不同版本的 Windows 需要花费很大精力。导致现在大量开源项目已经不再兼容一些早期的 Windows 版本,比如 .NET 8 AOT编译命令行程序时生成的EXE,依赖以下三个函数,经查只有Windows 7 SP1以上系统才包含,具体参见:让.NET 8 支持 Windows Vista RTM · Issue #66 · Chuyu-Team/YY-Thunks (github.com)

YY-Thunks(https://github.com/Chuyu-Team/YY-Thunks)是一个采用MIT许可证的开源项目,旨在解决Windows XP RTM版本无法定位程序输入点的问题,例如DecodePointer、EncodePointer、RegDeleteKeyEx等。这个项目通过使用LoadLibraryGetProcAddress动态加载API,并在API不存在时提供补偿措施,模拟原始API的行为,从而让程序能在旧版本的Windows上正常运行。YY-Thunks的特点包括快速、安全,支持多种编译器和运行库模式。可以通过NuGet包管理器或手工配置的方式集成到项目中。

YY-Thunks最新发布的v1.0.10-Beta3 包含了对.NET 8 的Native AOT的支持。

image

YY-Thunks 通过动态加载和模拟这些函数的行为,使得在旧版 Windows 上运行的程序能够调用这些函数,即使它们的系统库中没有直接提供这些函数。这样,开发者可以继续使用现代编程实践和 API,同时保持对旧操作系统的兼容性。

为了确保您的项目兼容性,您应该查看 YY-Thunks 的官方文档或源代码,以获取最新的支持列表和集成指南。由于 API 支持可能会随着 YY-Thunks 的更新而变化,直接查看项目的最新信息是最准确的做法。

标签:Windows,Thunks,YY,RTM,API,NET
From: https://www.cnblogs.com/shanyou/p/18173208

相关文章

  • Windows日志检索和分析
    前言在运维工作过程中,如若windows服务器被入侵,往往需要检索和分析相应的安全日志。除了安全设备,系统自带的日志就是取证的关键材料,但是此类日志数量庞大,需要高效分析windows安全日志,提取出我们想要的有用信息,就显得尤为关键。本文将介绍windows的日志类型、存放位置、检索方案......
  • WDS+MDT网络启动自动部署windows(十三)骚操作,修改MDT数据库,使用变量设置计算机描述
    简介我正在努力尝试将一个被取消的功能重新实现。在mdt安装时,为计算机添加计算机描述,它将是未来一些自动化操作的变量,如使用人参数。MDT2010-SettingtheComputerDescriptioninADwithoutawebservice-DeployVista在MDT部署期间在ActiveDirectory中设置计算机......
  • dotnet 冒泡排序
    //Seehttps://aka.ms/new-console-templateformoreinformationusingConsoleApp1;Console.WriteLine("Hello,World!");//我委托你办事情,作为委托方只要满足被委托方的规则的事情(也就是方法),他都可以帮我解决,我需要给它提供金钱(也就是参数)。//总结:就是一些常用(公用的......
  • dotnet 委托delegate的使用 定义和使用
    voidMain(){//委托-初级和高级的分水岭//1.委托的初体验//委托是一个引用类型,其实是一个类型,保存方法的指针(地址)(变量名字都是地址都是指针)//是一个数据类型实际是一个对象(委托对象,函数对象,列表对象)万物都是对象//指针指向一个方法当我......
  • 【YoloDeployCsharp】基于.NET Framework的YOLO深度学习模型部署测试平台
    1.项目介绍  基于.NETFramework4.8开发的深度学习模型部署测试平台,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等应用场景,同时支持图像与视频检测。模型部署引擎使用的是OpenVINO™、TensorRT、ONNXruntime以及OpenCVDNN,支持CP......
  • Windows系统,在Pycharm里面(python3.9)下载dlib的依赖包的具体步骤
    原文作者:传送门1、进入网址轮子地址然后选择这个下载:2、保存到自己的项目里面,然后使用pip的命令下载pip命令如下:pipinstalldlib-19.23.0-cp39-cp39-win_amd64.whl使用piplist的命令查看已经下载的包:dlib依赖包下载完成!......
  • Qt学习第一篇(windows下安装和代码规范)
    Qt_1QtCreator是Qt公司生产的IDE。它集成了多个工具,包括代码编辑器、图形UI(GUI)设计器、编译器、调试器、Qt设计器、Qt快速设计器和Qt助手等。QtDesigner帮助设计基于小部件的GUI,而QtQuickDesigner提供了在设计模式下创建和编辑基于QML的GUI的UI。Qt......
  • Kubernetes源码二次开发系列(一到三),玩转高阶K8s开发
    Kubernetes源码二次开发通常涉及以下步骤:环境准备:安装和配置Go环境,确保Go版本与Kubernetes项目兼容。获取源码:从GitHub克隆Kubernetes仓库到本地。设置工作环境:通过make命令设置编译环境。修改源码:根据需求修改Kubernetes源码。编译:使用makeall编译所有组......
  • dotnet的Lambda表达式 委托泛型(2) Action Func
    //总结://泛型:把类,方法,属性,字段做到了通用化//反射:操作dll文件的一个帮助类库//特性:就是一个特殊的类自定义标记属性特性他就是AOP的另一种实现方式验证属性//委托:就是多播委托,可以保存一个或者多个方法的信息。可以用来传递方法(把方法当作参数传递)。主要用来实现代码的解......
  • Godot.NET C#IOC重构(11):攻击与死亡
    目录前言带上伤害HitboxHurtbox实现效果渐变淡出添加受攻击效果Hurtbox完善Enemy状态机结果剩下的都是逻辑完善的部分了,后面的我就跳过了。前言这次来深刻了解一下Godot中的伤害计算带上伤害我们将之前的Hitbox和HurtBox进行了一下简单的修改HitboxusingGodot;usingSyste......