YY-Thunks 1.0.1.23

There is a newer version of this package available.
See the version list below for details.
dotnet add package YY-Thunks --version 1.0.1.23                
NuGet\Install-Package YY-Thunks -Version 1.0.1.23                
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="YY-Thunks" Version="1.0.1.23" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add YY-Thunks --version 1.0.1.23                
#r "nuget: YY-Thunks, 1.0.1.23"                
#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 YY-Thunks as a Cake Addin
#addin nuget:?package=YY-Thunks&version=1.0.1.23

// Install YY-Thunks as a Cake Tool
#tool nuget:?package=YY-Thunks&version=1.0.1.23                

YY-Thunks——让兼容Windows更轻松

1. 关于YY-Thunks

众所周知Windows XP每个SP都会新增大量API,而Windows 10每次更新又会新增大量API,这使得兼容不同版本的Windows需要大量的判断。

甚至大量开源代码已经不再兼容一些早期的Windows XP版本,比如 Windows XP RTM。难道就没有一种快速高效的方案解决无法定位程序输入点的问题吗?

YY-Thunks(鸭船),存在的目的就是抹平不同系统的差异,编译时单纯添加一个obj即可自动解决这些兼容性问题。让你兼容Windows更轻松!

[ 鸭船交流群 633710173 ]

1.1. 原理

使用LoadLibrary以及GetProcAddress动态加载API,不存在时做出补偿措施,最大限度模拟原始API行为,让你的程序正常运行。

1.2. 亮点

  • 更快!更安全!鸭船内建2级缓存以及按需加载机制,同时自动加密所有函数指针,防止内存爆破攻击。最大程度减少不需要的、不必要的LoadLibrary以及GetProcAddress调用以及潜在安全风险。
  • 轻松兼容Windows XP,让你安心专注于业务逻辑。
  • 完全的开放代码,广泛的接受用户意见,希望大家能踊跃的 pull requests,为鸭船添砖加瓦。
Product Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on YY-Thunks:

Package Downloads
VC-LTL

功能 —— 编译精巧的程序原来如此简单 * 晚起的鸟儿也有虫虫吃,优雅的引用方式,仅添加一个属性表就能享受极致的体积体验。 * 无缝使用最新C/C++库以及最新编译器,尽情的使用最新规范。神马异常流防护(guard:cf)、静态对象线程安全初始化(threadSafeInit)……统统放马过来吧!! * 拥有比微软原版更好的兼容性,即使想兼容Windows XP RTM也可以安心的对新编译器说“Yes”。 * 完全的开放代码,广泛的接受用户意见,希望大家能踊跃的 pull requests,为VC-LTL添砖加瓦。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.2-Beta6 26 7/25/2024
1.1.2-Beta5 33 7/25/2024
1.1.2-Beta4 90 7/14/2024
1.1.2-Beta3 359 6/30/2024
1.1.2-Beta2 67 6/24/2024
1.1.2-Beta1 457 6/22/2024
1.1.1 249 6/8/2024
1.1.1-Beta1 543 5/30/2024
1.0.10-Beta8 149 5/25/2024
1.0.10-Beta7 91 5/19/2024
1.0.10-Beta6 64 5/14/2024
1.0.10-Beta5 74 5/9/2024
1.0.10-Beta4 85 5/6/2024
1.0.10-Beta3 116 5/4/2024
1.0.10-Beta2 41 5/3/2024
1.0.10-Beta1 56 5/1/2024
1.0.9 534 10/22/2023
1.0.9-Beta4 106 10/4/2023
1.0.9-Beta3 172 10/1/2023
1.0.9-Beta2 203 8/10/2023
1.0.9-Beta1 132 6/22/2023
1.0.8 382 6/22/2023
1.0.8-Beta4 152 5/20/2023
1.0.8-Beta3 168 5/20/2023
1.0.8-Beta2 118 5/11/2023
1.0.8-Beta1 193 5/9/2023
1.0.7 332 4/19/2023
1.0.7-Beta4 144 3/18/2023
1.0.7-Beta3 187 3/8/2023
1.0.7-Beta2 206 1/24/2023
1.0.7-Beta1 205 11/5/2022
1.0.6 700 7/3/2022
1.0.6-Beta1 181 5/15/2022
1.0.5 561 3/13/2022
1.0.5-Beta3 175 1/28/2022
1.0.5-Beta2 181 11/9/2021
1.0.5-Beta1 231 10/9/2021
1.0.4 485 8/31/2021
1.0.4-Beta3 586 7/12/2021
1.0.4-Beta2 213 6/30/2021
1.0.4-Beta1 175 6/17/2021
1.0.3 377 6/11/2021
1.0.3-Beta4 212 5/7/2021
1.0.3-Beta3 271 1/8/2021
1.0.3-Beta2 243 11/23/2020
1.0.3-Beta1 241 11/16/2020
1.0.2.8 857 7/25/2020
1.0.1.23 689 11/11/2019

1.0.1.23 - 优化实现(2019-10-25 13:00)
 ---------------------

* 解决 Bug,CreateFile2 dwSecurityQosFlags成员可能无法发挥作用问题(感谢 賈可)。
* 解决 Bug,KnownFoldersIdsMap缺少 FOLDERID_ProgramFilesCommonX86问题(感谢 賈可)。
* 解决 Bug,KnownFoldersIdsMap会生static静态对象初始化代码问题(感谢 Joe)。
* 行为调整,EnumCalendarInfoExEx、EnumDateFormatsExEx消除 TLS 依赖。
* 添加 SHBindToFolderIDListParent(感谢 賈可)
* 添加 SHBindToFolderIDListParentEx(感谢 賈可)
* 添加 SHBindToObject(感谢 賈可)
* 添加 SHCreateItemFromIDList(感谢 賈可)
* 添加 SHCreateItemWithParent(感谢 賈可)
* 添加 SHCreateItemFromRelativeName(感谢 賈可)
* 添加 SHGetNameFromIDList(感谢 賈可)
* 添加 SHCreateShellItem
* 添加 OpenFileById
* 添加 RegCopyTreeW(A)(感谢 賈可)
* 添加 CreateSymbolicLinkW(A)
* 添加 ReOpenFile