2016-01-13 4 views
1

Например:Что делает резкий (#) означает, что в параметрах rundll32.exe

rundll32.exe "test.dll",#1 

Я посмотрел в rundll32.exe manual

Но я не могу найти смысл резкого (#) ,

+0

Обычно вы указываете * имя * функции в test.dll, которую хотите запустить. Используя #, вы скажете, что вы не хотите указывать имя, а номер экспортируемой функции. Первый в этом случае. Использование названия, конечно, лучше всего, меньше несчастных случаев. –

+0

@HansPassant У вас не всегда есть выбор. Функции могут быть экспортированы только по порядковым номерам. –

+1

@AndrewMedico Затем исправьте свою DLL, чтобы экспортировать ее по имени. Экспорт по ординалам означает, что rundll32 не может определить, какой набор символов ожидает ваша функция (поскольку rundll32 указывает, будет ли имя функции заканчиваться на A или W). –

ответ

3

Использование резкого знака вместо имени функции в параметрах до rundll32.exe используется для вызова функции по имени «Ординал» вместо имени.

Для получения дополнительной информации см. https://msdn.microsoft.com/en-us/library/aa264882(v=vs.60).aspx.