Форум программистов, компьютерный форум 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
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,267
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

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