在第七窗口中,以下命令显示一个对话框,然后终止而没有任何其他操作,为什么?
预期效果是启动关联程序Notepad++或至少启动Notepad
RUNDLL32.EXE SHELL32.DLL,OpenAs_RunDLL D:\doc\toto.txt
Run Code Online (Sandbox Code Playgroud)

所以我正在尝试使用rundll来测试和运行我的C++编写的DLL,我已经遵循了这里和其他网站上的指南,入口点如下所示:
__declspec(dllexport) void CALLBACK entry(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow)
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
但rundll进程提示我一个错误消息框说"C:\ path\to\DLL Missing entry:entry"中的错误
尝试执行命令:"rundll32 C:\ path\to\DLL,entry".
我正在尝试在 Windows 命令行中执行单行文件下载,而不依赖于 WGET 等外部工具,甚至不编写 PowerShell 或 VBScripts 脚本。
我试着跑
c:\> RunDLL32.exe URLMon.dll,URLDownloadToFIle 0,"http://www.example.com/file.pdf" "c:\\MyName\\Downloads\\",0
Run Code Online (Sandbox Code Playgroud)
它没有用。
我做错了什么?或者这甚至会起作用?
例如:
rundll32.exe "test.dll",#1
Run Code Online (Sandbox Code Playgroud)
我查看了 rundll32.exe手册
但是我找不到尖锐(#)的含义。
可能重复:
如何使用 Rundll32 执行 DLL 函数?
我在哪里可以找到文档(教程、书籍等)来编写我自己的可以使用 rundll32.exe 运行的 dll?
我如何SetCursorPos从Windows RunDll32应用程序正确调用该函数?
如果我试试这个,它会将光标发送到右下角:
RunDll32.exe user32.dll,SetCursorPos 100, 100
Run Code Online (Sandbox Code Playgroud)
但是我将正确的值传递给它的参数:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms648394%28v=vs.85%29.aspx
PS:我对NirCMD应用程序等替代品不感兴趣,我知道它们,我只想知道我所做问题的答案,谢谢.
我正在搜索为什么 rundll32.exe 进程在我的系统上运行,当我发现它充当容器以将 dll 作为应用程序/exe 运行时。我无法理解我希望 dll 作为应用程序运行的原因/用例。库不只是为了提供功能支持而不是作为单独的应用程序运行吗?