Привет.
У меня есть оболочка Microsoft Visual C++ 6.0
Помогите написать одну очень нужную и очень коротенькую программу.
Она должна запускаться по горячей клавише и совершать комбинацию ALT+TAB случайное число раз
например это случайное число от 3 до 150
будет лучше, чтобы я сам смог изменять максимум для случайного числа при запуске программы
- она может быть резидентной
- может и нет.
Но мне не ясен способ вызова не резидентной программы по горячей клавише (например F12)
Просьба помочь с данной темой
Эмуляция ALT+TAB на Visual C++
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Одобрил тему - теперь её все увидят.
Также удалил ссылку. Не нужно никаких "взамен", тем более без исходников проку от этой программы никакой нет (не говоря уже о возможности заражения вирусом).
По поводу самой темы. Советую начать с функции SetWindowsHookEx, которая позволяет повесить хук на системные цепочки сообщений. Генерировать же нажатия клавиш можно с помощью SendInput.
Также удалил ссылку. Не нужно никаких "взамен", тем более без исходников проку от этой программы никакой нет (не говоря уже о возможности заражения вирусом).
По поводу самой темы. Советую начать с функции SetWindowsHookEx, которая позволяет повесить хук на системные цепочки сообщений. Генерировать же нажатия клавиш можно с помощью SendInput.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
спс
уже сделал сам
вот:
уже сделал сам
вот:
Код: Выделить всё
#include <windows.h>//API функции
#include <stdio.h>
#include <string.h>
#include <conio.h> //только для getch();
#include <locale.h>
#include <iostream>
#include <ctime>
#include <cstdlib>
void main()
{
int a, b, n, i;
srand((unsigned)time(0));
a=rand()%280+3;
keybd_event(VK_MENU, 0, 0, 0);
for (i=0; i<a; i++)
{
keybd_event(VK_TAB, 0, 0, 0);
}
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
return;
}
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Функция keybd_event является деприкейтед функцией, начиная с Win2000 и внутри всё равно вызывает SendInput. Но работать конечно же будет.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.