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

Сообщение приложению - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка функций http://www.cyberforum.ru/cpp-beginners/thread242790.html
привет.только начал изучать С++.такая задача Написать реализацию перегруженных функций : int func(int* arr, int length, int number); int func(char* str, char ch); Функция func возвращает количество вхождений числа или символа в массив. я сделал программу которая будет выполнять условие только без перезагруженных функций. #include <iostream>
C++ Ввод символа в переменную типа INT Доброго времени суток. Подскажите самый эффективный способ борьбы с неверным вводом данных пользователем. А именно когда пользователя просят ввести число типа INT? а он вводит символ CHAR. http://www.cyberforum.ru/cpp-beginners/thread242787.html
C++ No such file in directory
Для компила проекта нужен один заголовочный файл. Я его поместил в папку с проектом, а он не обнаруживается. При компиле выдается ошибка: No such file in directory. Как это исправить?
C++ Передача матрицы через почтовый ящик
Добрый день всем участникам форума. Идея моя такова. Клиент: Генерируется прямоугольная матрица с введенным пользователем числом строк/столбцов, заполняется случайными числами от 1 до 99 и передается через почтовый ящик (ПЯ) серверу. Сначала передается число строк, потом число столбцов, потом цикл передачи элементов матрицы поштучно. Сервер: Принимает данные из ПЯ и выводит матрицу на...
C++ Сделать статический массив с разными типами данных http://www.cyberforum.ru/cpp-beginners/thread242725.html
Задача такова, есть ровно 60 магазинов. У каждого магазина по 6 параметров: 1) Адрес типа char 2) Заработок за сутки типа int 3) Персонал в помещении типа int 4) Покупатели в помещении типа int 5) Владелец типа char 6) Номер телефона типа char Чтобы было проще понять - на php структура должна быть такая: $mass = 'Москва д10'
C++ Поменять цифры в числе местами салам!) помогите решить одну задачу, нужно вывести число цифрами наоборот. например: вводотся 45-выводится 54 НО если вводится 20 или 30 или 40 идт-выводится 2-3-4 соответственно! прога на с++... я сам смог вывести, но не могу чтобы када число с нулем у меня выводилось одно число: н-р: 90 - 09. нужно просто 9! подробнее

Показать сообщение отдельно
Пушкин
1 / 1 / 0
Регистрация: 26.10.2010
Сообщений: 8

Сообщение приложению - C++

14.02.2011, 17:44. Просмотров 309. Ответов 0
Метки (Все метки)

Здравствуйте, у меня появилась такая проблема, я не знаю как с ней справиться.

Уже третий день мучаюсь с этими сообщениями, в частности WM_KEYDOWN, WM_KEYUP. Задача очень простая, чтобы через определенный промежуток времени срабатывала функция, которая бы кликала мышкой или давила на клавишу. В инете нашел кучу примеров, первые два дня не получалось ничего, сегодня программно выводил сообщение в блокноте, давил на пуск и еще куча всего, до чего руки дотянулись Но никак не получается послать это сообщение в одно из приложений, в spy++ оно выглядит в виде синего окошка, не имеет ответвлений. Я захватываю хендл над ним, и пробую разными способами.

Код
SendMessage(wnd,WM_LBUTTONDOWN,0,0);
SendMessage(wnd,WM_LBUTTONUP,0,0);
Сообщение клика не работает, никакого результата, хотя для меню "Пуск" получилось без проблем.

Код
keybd_event( 0x63, 0x70, KEYEVENTF_EXTENDEDKEY |0, 0 );
keybd_event( 0x63, 0x70, KEYEVENTF_EXTENDEDKEY |KEYEVENTF_KEYUP, 0);
Это тоже не работает, я ставил задержку на 5 секунд, запускал прогу, переходил в нужное приложение - безрезультатно. В блокнотах, калькуляторах и т.д. без проблем.

Код
SendMessage(wnd, WM_KEYDOWN, 0x63, 0);
SendMessage(wnd, WM_KEYUP, 0x63, 0);
Аналогично, хотя я наблюдал его в сообщениях, пробовал с разными параметрами, никакого эффекта. Мне кажется я что то не правильно делаю, или что то не так использую. Но нужно использовать именно этот вариант. В блокноте с этим экспериментировал, там лог выглядит примерно так

- WM_KEYDOWN
- WM_CHAR
- WM_KEYUP

Сам код для последнего варианта выглядит так

Код
HWND wnd,wndd;
	wnd = FindWindow(L"Notepad",NULL);
	wndd = FindWindowEx(wnd,NULL,L"Edit",NULL);
	
	Sleep(5000);

	SendMessage(wndd,WM_KEYDOWN,0x63,0x63);
	//SendMessage(wndd,WM_CHAR,50,50);
	SendMessage(wndd,WM_KEYUP,0x63,0x63);
Если закоментить WM_CHAR то ничего печататься не будет. Почему ? И почему в одном приложении нажатие левой кнопки мыши не работает, а в другом работает. Можно ли взять хендл над драйвером и прямо в него посылать сообщения?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru