引用来自 惟梦
https://www.zhihu.com/question/34236720/answer/922149434
解决办法
由于游戏会调用 slc.dll 的 SLGetWindowsInformationDWORD 方法去检查权限
那么自己编译一个 slc.dll 返回 True 即可让程序继续运行
slc.dll源码
// dllmain.cpp : Defines the entry point for the DLL application.
#include "pch.h"
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
extern "C" _declspec(dllexport) HRESULT SLGetWindowsInformationDWORD(
PCWSTR pwszValueName,
DWORD* pdwValue
) {
*pdwValue = 1;
return S_OK;
}
编译好的dll与游戏本体(x32/x64)
https://www.123865.com/s/b5Y0Vv-yAfJ3
https://www.123684.com/s/b5Y0Vv-yAfJ3
整合dll的游戏包
MicrosoftGames_x32_include_dll.7z
MicrosoftGames_X64_include_dll.7z
单独的dll
单独DLL文件
使用
编译成 32位/64位 放置到游戏目录即可!
可能还需要CardGames.dll
支持以下游戏
FreeCell
Hearts
Minesweeper
Purble Place
Solitaire
SpiderSolitaire
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。