什么锋利的(#)指RUNDLL32.EXE参数

问题描述:

例如:什么锋利的(#)指RUNDLL32.EXE参数

rundll32.exe "test.dll",#1 

我看着RUNDLL32.EXE manual

但我找不到锐(#)的意义。

+0

您通常会在要运行的test.dll中提供函数的*名称*。通过使用#,你告诉它你不想指定名字,但是输出函数的编号。在这种情况下的第一个。使用这个名字当然是最好的,这样的事故就少一些。 –

+0

@HansPassant你并不总是有选择。函数只能由序号导出。 –

+1

@AndrewMedico然后修复您的DLL以按名称导出它。通过序号导出意味着rundll32无法确定函数期望接收的字符集(因为rundll32通过函数名称以A还是W结尾来推断)。 –

在参数rundll32.exe中使用锐符号而不是函数名称用于通过它的序号而不是名称来调用函数。

请参阅 https://msdn.microsoft.com/en-us/library/aa264882(v=vs.60).aspx了解更多信息。