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 руб./мес


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




 150 - OpenClipboard и CloseClipboard / Win 32 API / Win32 API

Шаг 150 - OpenClipboard и CloseClipboard

Для работы с буфером обмена его необходимо отрыть:

BOOL OpenClipboard
(
	HWND hWndNewOwner	// указатель на окно
);

После использования закрыть:

BOOL CloseClipboard(VOID);

Обе эти функции возвращают нулевое значение в случае ошибки. Давайте попробуем на примере MFC приложения с диалоговым окном.

150_1.gif (2513 b)

И код напишем для кнопок:

void COpenClipboardDlg::OnOpenClipboard() 
{
	if (::OpenClipboard(this->m_hWnd)==0)
		AfxMessageBox("Error Open");
}

void COpenClipboardDlg::OnCloseCiplboard() 
{
	if (::CloseClipboard()==0)
		AfxMessageBox("Error Close");
}

Только одно приложение может открыть буфер обмена. В момент открытия буфера он блокируется. Давайте попробуем. Запускаем приложение и нажимаем кнопку Open. А теперь попробуем что-то сделать, например, в Word. Скажем скопировать и вставить текст. Мы получим сообщение об ошибке.

150_2.gif (3852 b)

Кстати Word немного странно себя ведет с буфером обмена в плане того, что если другое приложение его блокирует, то через обычное меню все операции с буфером запрещены, в через контекстное меню можно. Ведь такой табличке как Вы вообще быть не должно из-за недоступности пунктов меню. А они могут быть доступны.


Загрузить проект | | |
Автор Каев Артем.
[AD]