0

我想通过命令行或批处理文件调用 Windows DLL 的导出。DLLwinscard.dll位于\windows\system32.

但我不想使用 RUNDLL 或 RUNDLL32,因为我要调用的函数没有 RUNDLL32 调用的标准签名。

签名必须是这样的:

void CALLBACK EntryPoint(
    HWND hwnd, 
    HINSTANCE hinst,
    LPSTR lpszCmdLine, 
    int nCmdShow);

所以我正在寻找一种不同的方式来调用这些函数。以前有人做过吗?

4

1 回答 1

0

试试这个: http: //pastebin.com/U8XvZsvA(如果链接不起作用:https ://paste.ee/p/clnzM )

用 GCC 编译。

像这样使用它rundll winscard.dll EntryPoint [arguments in order from left to right]

要传递字符串参数,请在其前面加上 a .,否则它将被视为数值(由 识别strtol)。

当然,如果函数采用指针参数,它很可能不起作用,而你不能从命令行传递。您可以编辑代码以满足您的需要,但您想要做的事情可能无法从批处理文件中完成。

于 2015-11-16T23:38:21.047 回答