Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Другое > Информационные технологии > Программирование > С++/C#
Присоединяйся к нам



Ответ
 
Опции темы Опции просмотра
Старый 08.11.2011, 12:13   #1
Старожил


 
Аватар для gg.Groove
 
Регистрация: 21.08.2010
Адрес: Almaty
Сообщений: 1,054
Репутация: 212
Автор По умолчанию

[C#]PInvoke или использование не управляемых библиотек


Ресурсы
  • [Ссылки скрыты от гостей.]
  • [Ссылки скрыты от гостей.]
    • [Ссылки скрыты от гостей.]
    • [Ссылки скрыты от гостей.]
  • [Ссылки скрыты от гостей.]
  • [Ссылки скрыты от гостей.]

Что это за ###, P/Invoke?

Platform Invocation Services (PInvoke) allows managed code to call unmanaged functions that are implemented in a DLL.

Platform Invocation Services (PInvoke) дают возможность вызывать не управляемые функции вшиты (не знаю как перевести) в DLL.

Что мы будем делать собствено
Мы вызовем функию beep из kernel32.dll

[HIDE="5"]using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace PINVOKE.Beep
{
public partial class Form1 : Form
{
//инициальзация дизайнера
public Form1()
{
InitializeComponent();
}

//обьявляем метод
[DllImport("kernel32.dll", SetLastError = true)]
private static extern bool Beep(uint dwFreq, uint dwDuration);


private void Button1Click(object sender, EventArgs e)
{
// Читаем число и конвертируем в uint
uint i = Convert.ToUInt32(numericUpDown1.Value);
//вызываем метод
Beep(i, 5);
}

private void Button2Click(object sender, EventArgs e)
{
MessageBox.Show(@"Проверка частот", @"BEEP");
//цикл будет вызывать метод пока I не будет равно 17000
for (uint i = 600; i <= 17000; i++)
{
//вызываем метод
Beep(i, 5);
}
MessageBox.Show(@"ВСЕ", @"BEEP");
}
}
}


--------------------------------------
Colored with [Ссылки скрыты от гостей.][/HIDE]
__________________

[Ссылки скрыты от гостей.]

Последний раз редактировалось gg.Groove; 08.11.2011 в 22:12.
  Ответить с цитированием Наверх
Старый 08.11.2011, 23:58   #2
Lost


 
Аватар для N.e.o.
 
Регистрация: 20.08.2009
Адрес: Matrix
Сообщений: 1,028
Репутация: 802
По умолчанию

ем... ты просто вызываешь из длл ф-цию ? Или это и есть весь урок ?
__________________

[Ссылки скрыты от гостей.]
[Ссылки скрыты от гостей.]
По женским представлениям, под покровом темноты мужчины могут думать только о сексе. Это неправда. Днем они тоже о нем думают.*face2*
  Ответить с цитированием Наверх
Пользователь сказал cпасибо:
FromShadow (09.11.2011)
Старый 09.11.2011, 12:57   #3
Старожил


 
Аватар для gg.Groove
 
Регистрация: 21.08.2010
Адрес: Almaty
Сообщений: 1,054
Репутация: 212
Автор По умолчанию

N.e.o., да, урок по PInvoke
Хотя нужно еще return показать
__________________

[Ссылки скрыты от гостей.]
  Ответить с цитированием Наверх
Старый 07.01.2012, 14:23   #4
Новичок
 
Аватар для NeronSp
 
Регистрация: 05.01.2011
Сообщений: 6
Репутация: 0
По умолчанию

Пруф на все либы [Ссылки скрыты от гостей.]
  Ответить с цитированием Наверх
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 17:02. Часовой пояс GMT +4.