原神3.7解鎖幀率DLL分享
原神幀率解鎖作者Github開源地址:
https://github.com/34736384/genshin-fps-unlock
在此非常感謝原作者提供的解鎖幀率工具和開源代碼,已經(jīng)給了star。
由于原作者使用C++開發(fā)的幀率解鎖軟件,且其中的代碼比較多,復(fù)制起來不是特別美觀,做應(yīng)用開發(fā)的同志也不想研究并移植。為了方便原神小工具二次開發(fā)作者,我將幀率解鎖功能整合成了dll庫。不管你用什么語言,例如C++,Java,Python,還是Electron設(shè)計界面應(yīng)用程序,只要能引入動態(tài)鏈接庫dll,就能輕松實現(xiàn)原神FPS解鎖功能。
unlock_fps.dll下載地址(2023年6月8日更新):
鏈接:https://pan.baidu.com/s/14NzzsqKLLoHYHE7cxk3mJw?
提取碼:ALYA?
使用方法

dll庫里面就一個函數(shù)int?unlockFps(char* gamePath);
函數(shù)形參?char* gamePath?是指游戲exe文件的絕對路徑,如下圖所示:

在游戲安裝目錄中找到:Genshin Imapct Game//YuanShen.exe
將此路徑傳入函數(shù),如下所示:
調(diào)用此函數(shù)后,函數(shù)將根據(jù)你傳入的路徑運行游戲,并開始解鎖幀率。
如果你傳入了錯誤的路徑,函數(shù)會通過返回值提示你,下面我將演示此函數(shù)不同返回值所代表的含義。
返回值
返回值類型為int型:
0 ????:?????正常退出
-1????:????檢測到游戲進程已經(jīng)啟動
-2????:? 游戲進程啟動失敗
-3????:? 游戲路徑錯誤(路徑中找不到Y(jié)uanShen.exe或GenshinImpact.exe)
你可以根據(jù)函數(shù)的返回值對用戶進行錯誤提示。
示例
由于"提瓦特游覽助手"是用JavaFX開發(fā)的,所以這里就以Java為例,演示如何使用dll庫。其他語言使用dll庫只會比Java更簡單,可以自行了解。
對于Java應(yīng)用開發(fā)者,可以使用JNA庫對dll進行引用。首先在pom.xml中輸入maven依賴:
如果你是Java模塊化的受害者,則在module-info.java文件中輸入:
如下圖所示:

創(chuàng)建接口UnlockFpsDLL用于調(diào)用解鎖幀率的dll庫:
第一行是通過dll庫實例化對象。
第二行是dll庫中的函數(shù)聲明,注意返回值類型,函數(shù)名和形參必須和dll庫函數(shù)一樣。
(由于C語言中char* gamePath是指針類型,所以Java里要用Pointer代替)
使用以下代碼即可調(diào)用解鎖幀率函數(shù):
最后,在你的程序中調(diào)用這個函數(shù):
JNA調(diào)用dll很簡單,分為兩步:
創(chuàng)建Library接口,并聲明dll路徑和dll中的函數(shù)
調(diào)用函數(shù)
最后注明一下,unlock_fps.dll是使用C語言開發(fā)的,不是C++,因為考慮到一些語言無法調(diào)用C++生成的dll庫,特將原作者的開源代碼轉(zhuǎn)為C語言編譯。