Как я могу обнаружить доступные мне методы в неуправляемой DLL - PullRequest
2 голосов
/ 25 августа 2011

При выполнении импорта DLL следующим образом:

[DllImport("user32.dll")]
    static extern bool SwapMouseButton(bool fSwap);

    private void button1_Click(object sender, EventArgs e)
    {
        SwapMouseButton(false);
    }

Как узнать, что в user32.dll есть метод SwapMouseButton, который принимает параметр bool и возвращает значение bool?

Очевидно, что нет смысла спасать день. Так есть ли веб-сайт, который перечисляет все это, или программа, в которую я могу ввести user32.dll, которая обнаружит это для меня?

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

`User32.dll 'является частью самого API Windows, и API задокументирован в MSDN . Типичный способ найти что-то - решить, что вы пытаетесь сделать, а затем искать эту тему.

Нет способа найти параметры для неуправляемых функций DLL. Вы можете найти имя функции (обычно) с помощью depends.exe (часть VS) или с помощью DependencyWalker . Это не даст вам параметры, хотя; они должны быть получены из документации для библиотеки.

1 голос
/ 25 августа 2011

Вы можете использовать зависящий от.exe файл, который поставляется вместе с Visual Studio. Вы можете загрузить в DLL, и он покажет вам все функции внутри, а также зависимости.

Вы также можете попробовать Dumpbin: http://msdn.microsoft.com/en-us/library/c1h23y6c

...