C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 13 - Реализуем захват и освобождение / DirectInput / Microsoft DirectX

Шаг 13 - Реализуем захват и освобождение

Visual Basic
Visual C++

Visual Basic

При запуске приложения производим захват:

Private Sub Form_Load()
	Set objDirectX = New DirectX7
	Set dri = objDirectX.DirectInputCreate
	Set dmmouse = dri.CreateDevice("GUID_SysMouse")
	dmmouse.SetCooperativeLevel Form1.hWnd, DISCL_FOREGROUND Or DISCL_NONEXCLUSIVE
	dmmouse.SetCommonDataFormat DIFORMAT_MOUSE
	Me.Show
	dmmouse.Acquire
End Sub

При закрытии освобождение:

Private Sub Form_Terminate()
dmmouse.Unacquire
End Sub

Visual C++

При запуске приложения и его активизации производим захват:

void CDImputDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) 
{
	CDialog::OnActivate(nState, pWndOther, bMinimized);
	HRESULT hr;
	hr=g_pMouse->Acquire();
	if FAILED(hr) 
	{ 
		ASSERT(FALSE);
	}
	// TODO: Add your message handler code here
}

При выходе из приложения освобождение:

void CDImputDlg::OnDestroy() 
{
	HRESULT hr;
	hr=g_pMouse->Unacquire();
	if FAILED(hr) 
	{ 
		ASSERT(FALSE);
	}
	CDialog::OnDestroy();
	// TODO: Add your message handler code here
}

| |
Автор Каев Артем.
[AD]