Разделы презентаций


Использование WinAPI в C#

DLL Importusing System.Runtime.InteropServices;public class Win32{ [DllImport("User32.Dll")] public static extern void SetWindowText(IntPtr hwnd, String lpString);}

Слайды и текст этой презентации

Слайд 1Использование WinAPI в C#

Использование WinAPI в C#

Слайд 2DLL Import
using System.Runtime.InteropServices;

public class Win32
{
[DllImport("User32.Dll")]

public static extern void SetWindowText(IntPtr hwnd, String lpString);
}

DLL Importusing System.Runtime.InteropServices;public class Win32{    [DllImport(

Слайд 3Вызов функций Windows API, имеющих выходной строковый параметр char*

using System.Text;

// для StringBuilder
[DllImport("user32.dll")]
public static extern int GetWindowText(IntPtr hwnd,
StringBuilder buf, int

nMaxCount);

StringBuilder sTitleBar = new StringBuilder(255);
GetWindowText(this.Handle, sTitleBar, sTitleBar.Capacity);
MessageBox.Show(sTitleBar.ToString());

Вызов функций Windows API, имеющих выходной строковый параметр char*using System.Text; // для StringBuilder[DllImport(

Слайд 4Вызов функций, требующих struct
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int left

;
public int top;
public int right;

public int bottom;
}

[DllImport("user32.dll")]
public static extern int GetWindowRect(IntPtr hwnd, ref RECT rc);

Вызов функций, требующих struct[StructLayout(LayoutKind.Sequential)]public struct RECT{  public int left ;  public int top;  public

Слайд 5Изменение типа, применяемого для маршалинга по умолчанию
[DllImport("user32.dll")]
public static extern int

GetClassName(IntPtr hwnd,
[MarshalAs(UnmanagedType.LPStr)] StringBuilder buf,
int nMaxCount);
Например, мы

хотим вызвать функцию GetClassName, который принимает параметр LPSTR (char*) даже в Unicode-версиях. Если вы передадите строку, общеязыковая исполняющая среда (CLR) преобразует ее в серию TCHAR. Но с помощью атрибута MarshalAs можно переопределить то, что предлагается по умолчанию:
Изменение типа, применяемого для маршалинга по умолчанию[DllImport(

Слайд 6Использование функций, требующих struct

int w, h;
RECT rc = new RECT();
GetWindowRect(this.Handle,

ref rc);
w = rc.right - rc.left;
h = rc.bottom - rc.top;
MessageBox.Show("Ширина

формы: " + w + "\n\rВысота формы: " + h);
Использование функций, требующих structint w, h;RECT rc = new RECT();GetWindowRect(this.Handle, ref rc);w = rc.right - rc.left;h =

Слайд 7Использование функций, требующих struct

int w, h;
RECT rc = new RECT();
GetWindowRect(this.Handle,

ref rc);
w = rc.right - rc.left;
h = rc.bottom - rc.top;
MessageBox.Show("Ширина

формы: " + w + "\n\rВысота формы: " + h);
Использование функций, требующих structint w, h;RECT rc = new RECT();GetWindowRect(this.Handle, ref rc);w = rc.right - rc.left;h =

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

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


Для правообладателей

Яндекс.Метрика