как передать 4 параметра для работы в dll с помощью rundll32.exe

Доброе утро. Извините за мой плохой английский. Сейчас столкнулся с одной проблемой. Мне удалось выполнить функцию с одним параметром, но в случае с несколькими параметрами у меня не получилось. вот что я пробовал.

rundll32.exe "C:\Program Files\Windows Photo Viewer\PhotoViewer.dll", ImageView_FullScreen C:\Users\ADMIN\Documents\a.jpg // succeeded;

но я заметил, что экспортируемой функцией является imageview_fullscreenW, а синтаксис требует 4 параметра. Третий параметр — это полный путь к изображению, а остальные параметры просто игнорируются.

rundll32.exe "C:\Program Files\Windows Photo Viewer\PhotoViewer.dll", ImageView_FullScreenW 0 0  C:\Users\ADMIN\Documents\a.jpg 0 // failed;

Так что же не так с этим? Два часа бьюсь над этой проблемой! Буду очень благодарен, если кто-нибудь найдет ответ! заранее спасибо.


person greg hoglund    schedule 15.12.2019    source источник
comment
Rundll32 вызывает функцию, указанную в dll, указанную в этом формате -hwnd as long, hinst as long (filled in by Rundll32), lpszCmdLine as pointer to string, nCmdShow as integer   -  person    schedule 15.12.2019
comment
В приведенной выше командной строке запятая (,) между ‹dllname› и именем функции ‹entrypont› чрезвычайно важна. Если разделитель запятой отсутствует, Rundll или Rundll32 завершится ошибкой без указания каких-либо ошибок. Кроме того, не должно быть пробелов между ‹dllname›, запятой и функцией ‹entrypoint›.   -  person    schedule 15.12.2019
comment
спасибо за ваш комментарий, Марк. Но вы пробовали то, что я сделал? В приведенном выше случае функция imageview_fullscreenW требует 4 параметра (Windows 7 32bit). Это не работает. Вы можете рассмотреть эту проблему еще раз?   -  person greg hoglund    schedule 15.12.2019
comment
Нет никакой проблемы, чтобы рассмотреть. Rundll32 вызывает функции, предназначенные для его вызова.   -  person    schedule 15.12.2019
comment
Отвечает ли это на ваш вопрос? Как запустить Photoviewer.dll в командной строке   -  person CristiFati    schedule 16.12.2019
comment
это то, на что я ссылался. Но проблема в том, что обходчик зависимостей показал мне, что экспортируемой функцией photoviewer.dll является ImageView_FullScreenW, а не ImageView_Fullscreen. Поэтому я просто хотел проверить версию «W». Но для этого требуется 4 параметра.   -  person greg hoglund    schedule 16.12.2019