Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с Winapi из .Net, инкапсулированный WinApi 
V
    Опции темы
Bladerender
Дата 23.6.2009, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Добрый день. Возник такой вопрос. Для того, что бы использовать Winapi в .Net нужно испортировать dll-ку, потом создавать структуры, аналогичные структуры, что бы работать с этим WinApi. и т.д. 
Может кто подскажет более-менее вменяемую .Net библиотеку для работы  в .Net, что бы там было все примерно по-людски инкапсулировано. 

Типа 
Код

IntPtr ptr = new IntPtr(циферки);
SystemWindow window = new SystemWindow(ptr);
window.SetFocus();
window.Sendkey("");


А то как-то глупо получается. Winapi майкрософта, а .Net работает с ним через такую попу, что ужас.

PS: ManagedWinApi с соурсфоржа пробовал. Более тупой инкапсуляции я еще не видел.

Это сообщение отредактировал(а) Bladerender - 23.6.2009, 12:17
PM MAIL   Вверх
PashaPash
Дата 23.6.2009, 13:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Bladerender, по людски winapi инкапсулировано в .net framework. Очень хорошо инкапсулировано, так что даже не заметно что внутри winapi. Все остальное есть на http://pinvoke.net/.


--------------------
PM MAIL WWW   Вверх
Bogdan1024
Дата 23.6.2009, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 5
Всего: 13



Цитата(PashaPash @ 23.6.2009,  12:39)
http://pinvoke.net/.

Зачотный сайт, спасибо за ссылку!


--------------------
user posted image
PM MAIL   Вверх
Bladerender
Дата 23.6.2009, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Ну. Получаеться что там тоже рекомендуют использовать  ManagedWinApi, тот что с соурсфорджа? Или я где-то чего-то не заметил?
Если по нормальному инкапсулировано, то какие  неймспейсы и классы юзать для работы с ним? Почему тогда во всех статьях в инете использують winapi через dllinport? Чего-то я ничего не понял. Проясните.



Это сообщение отредактировал(а) Bladerender - 23.6.2009, 14:19
PM MAIL   Вверх
PashaPash
Дата 23.6.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Bladerender, там не рекомендуют использовать ManagedWinApi. Там плагин для вставки DllImport-ов в нужные места. 


--------------------
PM MAIL WWW   Вверх
ДобренькийПапаша
Дата 23.6.2009, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



System.Runtime.InteropServices используется для работы с API. Это что касается пространства имён (там выше кажется был вопрос).


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
nikitao
Дата 24.6.2009, 03:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Цитата(Bladerender @  23.6.2009,  15:11 Найти цитируемый пост)
очему тогда во всех статьях в инете использують winapi через dllinport?


Так а чем он тебе не нравится. Создаешь класс(ы) , в котором все необходимые тебе ф-ции импортируются и внешний интерфейс у него , который их вызывает. Что еще нужно ?


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Bladerender
Дата 24.6.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



И заодно. Облайновой версии pinvoke нету случайно? А то если нету инета, то нету и информации в программе.

PS: Там на сайте pinvoke есть упоминание про то, что если не хотите гемора, то юзайте managed Api. И ссылка на соурсфорж.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.