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

Имитация клавишь в другом окне - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Условия остановки цикла http://www.cyberforum.ru/cpp-beginners/thread97223.html
А как задать условие для: 1) Допустим идет цикл вычислений. Необходимо прервать вычисления при условии, что 3 последних вычислений будут совпадать с точностью до 6-ти знаков после запятой. Например у нас есть ряд ответов 1,2569874 1,1235646 1,12356874 1,12356882 1,12356814 тут программа прервет вычисления потому что 3 последних ответа одинаковы до 6-ти знаков после запятой. 2) Условия для...
C++ Работа с файлами помогите написать программу на си !Которая считывает текст из файла и выводит на экран предложения не содержащие запятых. http://www.cyberforum.ru/cpp-beginners/thread97216.html
C++ Замены в файле.
Заменить в файле все заглавные буквы строчными, подсчитать кол.-во замен и вывести в файл. Т.е. я создаю Файл1, записываю в него разные слова (или набор букв), хоть с маленькой, хоть с большой, при чем в несколько строчек; при выполнении программы получаю Файл2, где написано кол.-во замен и выведены уже заглавные буквы также построчно.
Матрицы в Turbo C. C++
Написать программу выполняющую операцию 4А-5B+C. Элементарные операции с матрицами (умножение матрицы на число, транспонирование матрицы, сложение 2 матриц) оформить в виде функций. Полученную матрицу вывести на экран. Т.Е. чтобы я мог вводить с клавиатуры матрицу A, B, C и программа подситывала общую матрицу и выводила ее.
C++ перегрузка операций и функций http://www.cyberforum.ru/cpp-beginners/thread97205.html
Выполнить перезагрузку перечисленных операций,закрепив за ними соответствующий функциональный смысл. шестнадцатеричное число-сложение,умножение,разность двух шестнадцатеричных чисел!помогите пожалуйста
C++ Динамическое выделение памяти для массива Кто может помочь решить задачу. Для заданного двумерного массива из n строк и m столбцов вывести на экран следующее меню операций: 1. Динамическое выделение памяти для двумерного массива 2. Ввод элементов массива с клавиатуры 3. Заполнение массива случайными числами 4. Сортировка элементов массива (по вариантам) 5. Вывод элементов массива на экран 6. Освобождение памяти, выделенной для... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,423
27.02.2010, 02:09     Имитация клавишь в другом окне
Значит, докладываю

1) ВСе наши предыдущие изыскания бесполезны. Нами предполагалось создание и работа с окном, но мы не учитывали одного- программа notepad при запуске создаёт ПЯТЬ окон

2) НАзвание имеет только оджно из них. Фактически это рамка. И все сообщения, посылаемые этому окну в моей предыдущей программе, посылались только рамке, не больше не меньше. То белое поле, где вводятся буквы- отдельное окно. Увы, без названия как и остальные 3 (панель инструментов и ещё что-то там)

3) ТЕм не менее, дескриптор это окно имеет, нам необходимо его найти и можно с ним работать. Автор, задание. Ищешь в сети программу objectviewer (русскоязычный интерфейс), учишься работать с ней и находить с помощью неё дескрипторы окон. Если не найдёшь, я тебе скину на рапиду

4) Ну вот как дескриптор найдёшь запускай мою программу. Обрати внимание, она работает, даже если окно неактивно или вообще свёрнуто- то есть всё равно этому белому полю пошлются соответвующие сообщения и буквы выведутся.

5) Ещё: возможны проблемы с кириллицей по той причине, что в конcоли винды одна кодировка, а notepad использует другую. Для устранения этого самостоятельно изучаешь и пишешь маленькую прожку для ковертации символов из одной кодировки в НУЖНУЮ ТЕБЕ ( ту, которая в notepade)

6) Удачи в твоих начинаниях! И штутдируй всякую фигню типа api-функций, отладчиков и прочей дряни.
ВСегда твой.
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
#include <windows.h>
#include <stdio.h>
 
// Размер буфера для заголовка консольного окна 
#define MY_BUFSIZE 1024   
int main () {
 
 
 //ЭТо вот буфер длявводимых символов, всего их может быть не больше MY_BUFSIZE
 char bufer_dla_vvodim_simv [MY_BUFSIZE];
 
 //Это вот будет дескриптор окна. Ищем вручную С ПОМОЩЬЮ ПРОГИ objectviewer.exe
 HWND DeskriptorOkna;
 
 //Поехали
 printf ("vvodi deskriptor okna  ");
 scanf ("%d", &DeskriptorOkna);
 
 //Теперь пишем в окне всякую фигню и заполняем ей буфер bufer_dla_vvodim_simv
 fflush (stdin);
 printf ("vvodi text\n");
 gets (bufer_dla_vvodim_simv);
 
 //Тперь на всякий случай выведем bufer_dla_vvodim_simv 
 //ЭТо можно закомментировать
 // printf ("vot chto mi vveli %s\n", bufer_dla_vvodim_simv);
 
 
 //Теперь эту херь посылаем текстовому редактору NOTEPAD
 for (int i= 0; bufer_dla_vvodim_simv[i]; i++ ) {
 
  //Внимание! ЕСли пишем WM_KEYDOWN, то третий параметр0 код клавиши. 
  //Следовательно, маленькие буквы не напечатаются
  //PostMessage ((HWND)2033532,WM_KEYDOWN,68, 1);
  PostMessage (DeskriptorOkna,WM_CHAR, bufer_dla_vvodim_simv[i], 1);
 } 
 
 //Осталась одна рабочая задача- научится выводить русские буквы.
 printf ("smotri rezultat ");
 getchar ();
 
 
 return 0;
}


kravam

Сёдня весь день в инете, все челы только и занимаются, что посылают окнам сообщения, инфы много и НИКОМУ НЕВДОМЁК, что окон не одно, а несколько. Мне аж не по себе стало. Парняги, скажите всем и знайте сами! Кажется, что окно одно, на самом деле их несколько! Хэндл каждого искать лучше вручную, (что предпочтительно, имея вышеупомянутую прогу).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru