EntryPointNotFoundException при использовании TaskDialog в C#

Дилемма действительно это.

я лично рискнул на Капучино, но это вызвано тем, что я в настоящее время вовлекаюсь в цель-c, и наличие теоретической возможности включить мой код (с некоторыми корректировками) в среду JavaScript/сети - заманчиво.

Так или иначе, если Вы делающий разработку какао, Вы будете в порядке в течение часов, но я уверен, что Вы уже поняли это собой.

Вы будете (в Капучино), имеют очень хорошую абстракцию для работы с. Я думаю что вопросы.

8
задан Kate Gregory 14 June 2010 в 19:00
поделиться

1 ответ

Ничего, кроме этой функции перспективы

ОБНОВЛЕНИЕ: Эта проблема была связана с параллельными сборками: эти функции присутствуют только в comctl32.dll версии 6, но из соображений совместимости Vista загрузит более раннюю версию, если вы не укажете иное. Большинство людей (включая меня) используют манифест. Это оказалось непростой задачей и в любом случае может оказаться неправильным решением, особенно если то, что вы пишете, представляет собой библиотеку: вам не обязательно заставлять все приложение использовать общие элементы управления 6.

Правильное решение заключается в том, чтобы выдвинуть новый контекст активации при вызове одного из API только для Vista. Контекст активации будет использовать правильную версию comctl32.dll, оставив остальную часть приложения в покое, и манифест не требуется.

К счастью, это легко сделать. Некоторый полный код, который уже существует База знаний MS . Код из статьи (KB 830033) делает свое дело как есть.

Альтернативный управляемый API: Полную оболочку для VistaBridge TaskDialog и TaskDialogIndirect можно найти здесь:

http://code.msdn.microsoft.com/WindowsAPICodePack

Для WPF используйте следующее:

Загрузите 'VistaBridge Sample Library' из http://code.msdn.microsoft.com/VistaBridge после загрузки откройте проект и затем соберите его (если вы хотите просмотреть весь код, проверьте файлы в папках \ Library или \ Interop. ). Теперь вы можете взять DLL из VistaBridge \ bin \ debug \ и добавить ссылку на нее в свой проект, а также вы должны добавить оператор using для каждого из различных модулей VistaBridge. Например:

с использованием Microsoft.SDK.Samples.VistaBridge.Interop или .Library, или .Properties, или .Services - в зависимости от ваших потребностей.

Проект VistaBridge включает API '

9
ответ дан 5 December 2019 в 14:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: