【发布时间】:2011-03-13 13:12:49
【问题描述】:
使用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 更好的方法。不管怎样,你没有正确调用 RUNDLL32。例如,参数必须用空格分隔(逗号仅将入口点与 DLL 分隔),hwnd 和 nShowCmd 需要整数值等。有关详细信息,请参阅support.microsoft.com/kb/164787。
-
我是个流浪的脑袋。我读到:vlaurie.com/computers2/Articles/rundll32.htm。然后我开始查看不同的 dll 文件,发现了这个:msdn.microsoft.com/en-us/library/bb776426%28v=VS.85%29.aspx。我开始研究各个函数,想知道它们是否可以与 rundll32.exe 一起使用。我选择了 ShellExecute 函数,因为我了解它的作用(打开一个文件夹)。我主要是想了解这些东西是如何工作的(在 MSDN 中)。我什至不知道是C、C++、C#等。
标签: rundll32