引用来自 惟梦
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

CardGames.dll

支持以下游戏

FreeCell

FreeCell

Hearts

Hearts

Minesweeper

Minesweeper

Purble Place

Purble Place

Solitaire

Solitaire

SpiderSolitaire

SpiderSolitaire


qiushi
1 声望1 粉丝

引用和评论

0 条评论