Существуют ли версии C# для общих деклараций Dllimport?

StackOverflow https://stackoverflow.com/questions/5364984

Вопрос

Есть много Win32 API вызовы / библиотеки, такие как Kernel32 или Shell32, которые могут быть полезны для звонков из C#. Анкет Общим методом их использования является поиск определения метода на pinvoke.net веб -сайт и использование определения dllimport оттуда.

Этот процесс требуется для каждого метода, который вы хотите использовать.

Есть ли сборки, которые содержат общие / большинство [DllImport]ED API функции?

Я ищу что -то, что могу использовать непосредственно из C# (в качестве ссылки), поэтому мне не нужно собирать и комбинировать все виды заявлений о Dllimport сам (с риском ошибок).

Это было полезно?

Решение

Что я знаю, нет широко известного пачка кода, обернув Windows API для .NET; Я мог видеть, что это полезно в определенных обстоятельствах, однако, в большинстве случаев, если вам нужно использовать так много нативного API Windows, то, возможно, вам следует спросить себя, правильно ли вы используете фреймворк .NET или нет. использовать .net вообще?

Независимо от вышеупомянутого мнения, вы можете найти довольно полный источник определений в http://pinvoke.net/.

Другие советы

Вы должны найти Здесь, на pinvoke.net что ты ищешь. На самом деле нет ничего более «за кулисами», что можно было бы отправить в исходный код C#, чем простые простые предложения импорта DLL.

Это не так, как это работает, вы предоставляете только заявление [dllimport] в вашем коде C#. Как раз в том, как вы найдете их на Pinvoke.net или в таком инструменте, как P/Invoke Interop Assistant. Узнайте, как на самом деле использовать функцию API, требуется изучение кода C или C ++. И в общем понимании, как работает API Windows.

Лучшее место для начала работы - это оригинальная книга Петцольда "Программирование Windows". Вы можете найти образцы исходного кода в C/C ++ в документации Windows SDK и во многих образцах, которые включены в полную версию SDK. И сеть, конечно, просто поиск имени функции. По иронии судьбы, количество образцов, которые вы найдете в Интернете в эти дни, которые написаны на управляемом языке, начинает выходить из образцов C/C ++. Остерегайтесь объявлений VB6 (объявление ключевого слова), также широко доступно, его типы не совместимы с .NET.

Такие сайты, как CodePlex.com и CodeProject.com, являются хорошим местом для поиска библиотек с управляемыми обертками класса на собственных вызовах API. Обычно вы просто просто используете библиотеку.

И последнее, но не менее важное, Stackoverflow.com - отличный ресурс;)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top