P / Invoke обучающие программы?

Кто-нибудь знает хороший учебник / электронную книгу, в которой подробно рассматривается пространство имен System.Runtime.InteropServices? Я только что прочитал это руководство о том, как сделать так, чтобы экран UAC отображался на кнопке. и теперь я очень хочу этому научиться.

P.S. Как посмотреть в системных файлах Windows, чтобы узнать, существует ли способ показать экран UAC на кнопке?


person Kredns    schedule 09.04.2009    source источник


Ответы (3)


Что касается вашего p.s., код, который вам нужен, находится в предоставленной вами информации. Вы используете метод SendMessage для отправки сообщения BCM_SETSHIELD дескриптору (в данном случае дескриптору вашей кнопки), который должен его отображать.

РЕДАКТИРОВАТЬ

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

person scottm    schedule 10.04.2009
comment
Извините, но вы меня неправильно поняли, я хотел знать, как люди находят эти методы в собственной библиотеке DLL, а не конкретно в методе SendMessage. - person Kredns; 10.04.2009
comment
@Lucas, я отредактировал свой ответ, чтобы включить еще одну ссылку, на которую вы должны обратить внимание. - person scottm; 10.04.2009
comment
Спасибо, это было действительно здорово! Так приятно, что я дам тебе ответ. Это именно то, что я хотел. - person Kredns; 11.04.2009

На http://pinvoke.net есть множество практических примеров.

person i_am_jorf    schedule 09.04.2009
comment
Извините, что лишил вас ответа, но scotty2012 дал мне именно то, что я искал. Однако мне нравится P / Invoke.net, он великолепен. Спасибо за вашу помощь. - person Kredns; 11.04.2009

Также ознакомьтесь с P / Invoke Interop Assistant. Там есть отличный код и очень полезный инструмент. Это значительно упрощает обучение.

person Reed Copsey    schedule 10.04.2009