Форум программистов, компьютерный форум CyberForum.ru

Как отловить буфер обмена!? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Введите с клавиатуры данные в массив целого типа, выведите их на экран http://www.cyberforum.ru/cpp-beginners/thread704646.html
Введите с клавиатуры данные в массив целого типа, выведите их на экран, затем выполните обмен значениями для первого и последнего элементов массива, а также для второго и предпоследнего. После этого выведите данные из массива снова на экран.
C++ объединение двух массивов Прог-ма, которая будет объединять два массива в один с ФУНКЦИЕЙ http://www.cyberforum.ru/cpp-beginners/thread704640.html
C++ одномерный массив
В одномерном массиве из 10 элементов необходимо Во всех последовательностях положительных чисел изменить порядок элементов на противоположный. Массив за основу взял {-5, 5, 6, 4, -8, 5, 9, -8, -7, 1} и никак не додумаюсь, как поменять последовательность положительных чисел. Как объяснил препод, нужно к примеру где последовательность 5 6 4 из моего массива, и нужно сделать чтобы стало так: 4 6...
найти множитель 2ух массивов А(3,5) і B(5,2). C++
я понимаю что я совсем чайник но вопросс 17.найти множитель 2ух массивов А(3,5) і B(5,2). кто то может решить это???
C++ Разворот порядка битов в байте http://www.cyberforum.ru/cpp-beginners/thread704624.html
С клавиатуры вводится целое число размером в 1 байт (unsigned char = 0..255). Необходимо развернуть порядок битов наоборот в этом числе и вывести полученное число на экран в следующей строке.
C++ Сожмите одномерный массив, удалив предшествующие максимальному элементу Помогите, пожалуйста, решить задачу: Сожмите одномерный массив, удалив предшествующие максимальному элементу. ____________________________ Заранее благодарен! подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
22.11.2012, 00:05     Как отловить буфер обмена!?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <windows.h>
#include <string>
#include <stdio.h>
using namespace std;
 
 
 
 
int main() {
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 char source []= "моя строка\n";
 
      //чтение текста из буфера обмена
      char fromClipboard [MAX_PATH];
      
      while (true) {
      Sleep (1000);
      
      if ( OpenClipboard(NULL) )//открываем буфер обмена
      {
         HANDLE hData = GetClipboardData(CF_TEXT);//извлекаем текст из буфера обмена
         strcpy (fromClipboard, (char*)GlobalLock(hData));//блокируем память
         GlobalUnlock(hData);//разблокируем память
         CloseClipboard();//закрываем буфер обмена
      }
      printf ("в буфере обмена %s\n", fromClipboard);  
      
 
 
      //Проверяем- а то ли в буфере обмена?
      char* temp; 
      if (temp= strstr (fromClipboard, "K")) {
       if (strlen(temp+ 1)== 15)
        //Если то, записываем туда чё надо:
        if(OpenClipboard(NULL))//открываем буфер обмена
         {
         HGLOBAL hgBuffer;
         EmptyClipboard(); //очищаем буфер
         hgBuffer= GlobalAlloc(GMEM_DDESHARE, strlen (source)+1);//выделяем память
         char* chBuffer;
         chBuffer= (char*)GlobalLock(hgBuffer); //блокируем память
         strcpy(chBuffer, LPCSTR(source));
         GlobalUnlock(hgBuffer);//разблокируем память
         SetClipboardData(CF_TEXT, hgBuffer);//помещаем текст в буфер обмена
         CloseClipboard(); //закрываем буфер обмена
         }
      }
       
      } 
      //printf ("%s\n", fromClipboard);
      getchar ();
 
}
Не совсем понятна необходимость именно такого выделения памяти, но разбираться не стал.
 
Текущее время: 22:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru