原神3.7解锁帧率DLL分享
原神帧率解锁作者Github开源地址:
https://github.com/34736384/genshin-fps-unlock
在此非常感谢原作者提供的解锁帧率工具和开源代码,已经给了star。
由于原作者使用C++开发的帧率解锁软件,且其中的代码比较多,复制起来不是特别美观,做应用开发的同志也不想研究并移植。为了方便原神小工具二次开发作者,我将帧率解锁功能整合成了dll库。不管你用什么语言,例如C++,Java,Python,还是Electron设计界面应用程序,只要能引入动态链接库dll,就能轻松实现原神FPS解锁功能。
unlock_fps.dll下载地址(2023年6月8日更新):
链接:https://pan.baidu.com/s/14NzzsqKLLoHYHE7cxk3mJw
提取码:ALYA
使用方法

dll库里面就一个函数int unlockFps(char* gamePath);
函数形参 char* gamePath 是指游戏exe文件的绝对路径,如下图所示:

在游戏安装目录中找到:Genshin Imapct Game//YuanShen.exe
将此路径传入函数,如下所示:
调用此函数后,函数将根据你传入的路径运行游戏,并开始解锁帧率。
如果你传入了错误的路径,函数会通过返回值提示你,下面我将演示此函数不同返回值所代表的含义。
返回值
返回值类型为int型:
0 : 正常退出
-1 : 检测到游戏进程已经启动
-2 : 游戏进程启动失败
-3 : 游戏路径错误(路径中找不到YuanShen.exe或GenshinImpact.exe)
你可以根据函数的返回值对用户进行错误提示。
示例
由于"提瓦特游览助手"是用JavaFX开发的,所以这里就以Java为例,演示如何使用dll库。其他语言使用dll库只会比Java更简单,可以自行了解。
对于Java应用开发者,可以使用JNA库对dll进行引用。首先在pom.xml中输入maven依赖:
如果你是Java模块化的受害者,则在module-info.java文件中输入:
如下图所示:

创建接口UnlockFpsDLL用于调用解锁帧率的dll库:
第一行是通过dll库实例化对象。
第二行是dll库中的函数声明,注意返回值类型,函数名和形参必须和dll库函数一样。
(由于C语言中char* gamePath是指针类型,所以Java里要用Pointer代替)
使用以下代码即可调用解锁帧率函数:
最后,在你的程序中调用这个函数:
JNA调用dll很简单,分为两步:
创建Library接口,并声明dll路径和dll中的函数
调用函数
最后注明一下,unlock_fps.dll是使用C语言开发的,不是C++,因为考虑到一些语言无法调用C++生成的dll库,特将原作者的开源代码转为C语言编译。