gpt4 book ai didi

rundll32 - 如何使用Rundll32执行DLL函数?

转载 作者:行者123 更新时间:2023-12-01 19:18:21 24 4
gpt4 key购买 nike

使用ShellExecute documentation作为引用:

我从命令行运行以下命令:

C:\>RUNDLL32.EXE SHELL32.DLL,ShellExecute handle,"open","C:\Documents and Settings\admin\Desktop\tmp",NULL,NULL,SW_SHOWNORMAL

这会导致异常错误。

我不知道这意味着什么:

HINSTANCE ShellExecute(
__in_opt HWND hwnd,
__in_opt LPCTSTR lpOperation,
__in LPCTSTR lpFile,
__in_opt LPCTSTR lpParameters,
__in_opt LPCTSTR lpDirectory,
__in INT nShowCmd
);

但是在描述中,提到了句柄(HWND)和指向空终止字符串的指针(LPCTSTR),但这非常令人困惑。

任何帮助将不胜感激。我还想了解更多信息,因此任何引用资料(书籍、网络链接等)也都很棒!

最佳答案

Rundll32 仅支持运行具有以下签名的 DLL 导出:

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

它不支持运行任意入口点。由于 ShellExecute 没有该签名,显然会发生不好的事情。

INFO: Windows Rundll and Rundll32 Interface有关于 rundll32 接口(interface)的更多信息。

如果您想从命令行执行与 ShellExecute 相同的操作,只需使用 start:

C:\>start "C:\Documents and Settings\admin\Desktop\tmp"

关于rundll32 - 如何使用Rundll32执行DLL函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3207365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com