我想通过命令行或批处理文件调用Windows DLL的导出。DLL是位于\windows\system32的winscard.dll。
但我不想使用RUNDLL或RUNDLL32,因为我想调用的函数没有RUNDLL32调用的标准签名。
签名必须是这样的:
void CALLBACK EntryPoint(
HWND hwnd,
HINSTANCE hinst,
LPSTR lpszCmdLine,
int nCmdShow);因此,我正在寻找一种不同的方法来调用这些函数。以前有人这么做过吗?
发布于 2015-11-17 07:38:21
试试这个:http://pastebin.com/U8XvZsvA (如果链接不起作用:https://paste.ee/p/clnzM)
和GCC一起编译。
像这样使用rundll winscard.dll EntryPoint [arguments in order from left to right]。
要传递字符串参数,请在其前面加上.,否则它将被视为数字值(如strtol所识别的)。
当然,如果函数接受不能从命令行传递的指针参数,那么它很可能不起作用。您可以编辑代码以满足您的需要,但是您想要做的事情很可能无法从批处理文件中完成。
https://stackoverflow.com/questions/33730346
复制相似问题