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

напечатать слово - C++

Восстановить пароль Регистрация
 
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
12.04.2011, 20:32     напечатать слово #1
Здравствуйте господа програмисты!!!можноли допустим как то задать(програмно),что бы печаталось слово.например наша программа запущенна,затем открываем любой файл .txt и она туда пишет любое слово,и ещё можно ли програмно нажать на кнопку пуск?
Заранее всем огромное спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 20:32     напечатать слово
Посмотрите здесь:

Найти и напечатать слово, в котором содержится больше всего символов “А” C++
Напечатать самое длинное слово, найденное в текстовом файле C++
C++ Найти в каждом первое слово и напечатать их в строку через пробел
C++ напечатать все слова,котрые состоят из тех же букв что и последнее слово текста
Напечатать сообщение «This is a C program» так, чтобы каждое слово располагалось в новой строке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kveigs
16 / 16 / 2
Регистрация: 20.03.2010
Сообщений: 85
12.04.2011, 20:38     напечатать слово #2
Конечно можно. Это эмуляция нажатий называется. ищите про SendInput

http://www.vsokovikov.narod.ru/New_M..._sendinput.htm - справка
http://forum.codecall.net/classes-co...emulation.html - примеры
http://msdn.microsoft.com/en-us/library/ms927178.aspx - виртуальные коды клавиш

коды для кнопки пуск
VK_LWIN 5B Left Windows key on a Microsoft Natural Keyboard
VK_RWIN 5C Right Windows key on a Microsoft Natural Keyboard

Если что-то не понятно, пишите с радостью объясню. Сейчас как раз эмуляцией и занимаюсь)
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
12.04.2011, 20:42  [ТС]     напечатать слово #3
а не льзя ли посмотреть исходник?
kveigs
16 / 16 / 2
Регистрация: 20.03.2010
Сообщений: 85
12.04.2011, 20:43     напечатать слово #4
можно. Через пару минут выложу
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 <stdio.h>
#include <windows.h> 
//Эмулирует нажатие клавиши. vk - виртуальный код клавиши
 int KeyDown(int vk) 
{
    INPUT Input;
    ZeroMemory(&Input, sizeof(Input));
    Input.type = INPUT_KEYBOARD;//Наш Input - клавиатура
    
    Input.ki.dwFlags = KEYEVENTF_EXTENDEDKEY;//незнаю зачем это нужно, можно и не писать вроде
    Input.ki.wVk = vk;//код клфвиши(VK_...)
    if(SendInput(1, &Input, sizeof(INPUT))!=0)//Собственно нажимае программно
    {
        return 0;
    }
    else
    {
        return GetLastError();
    };
}
 
//Эмулирует отпускание клавиши. vk-виртуальный код клавиши
int KeyUp(int vk) 
{
    INPUT Input;
    ZeroMemory(&Input, sizeof(Input));
    Input.type = INPUT_KEYBOARD;
    Input.ki.dwFlags = KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP;//Флаг того что мы отпускаем клавишу
    Input.ki.wVk = vk;
    SendInput(1, &Input, sizeof(INPUT))!=0)
    {
        return 0;
    }
    else
    {
        return GetLastError();
    };
} 
 
void main()
{
    KeyDown(VK_LWIN);//нажали пуск
    KeyUp(VK_LWIN);//отпустили
}
rocketsolid
 Аватар для rocketsolid
8 / 8 / 1
Регистрация: 31.10.2008
Сообщений: 41
12.04.2011, 20:44     напечатать слово #5
кнопку пуск можно нажать используя winapi функцию keybd_event

C++
1
2
3
4
# include <windows.h>
....// клик по кнопке
keybd_event(VK_LWIN,0,0,0);//нажимаем 
keybd_event(VK_LWIN,0,KEYEVENTF_KEYUP,0);// отпускаем
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
12.04.2011, 20:45  [ТС]     напечатать слово #6
спасибо более менее понял а как отследить нажатие клавиши CTRL?
kveigs
16 / 16 / 2
Регистрация: 20.03.2010
Сообщений: 85
12.04.2011, 20:57     напечатать слово #7
VK_CONTROL
Полный список кодов клавиш смотрите здесь!
http://msdn.microsoft.com/en-us/library/ms927178.aspx

Добавлено через 2 минуты
Кстати если вы захотите эмулировать зажатие клавиши, то вам придется использовать цикл и в нем нажимать клавишу, т.к. зажатие клавиши это нечто иное, как ее многократное нажатие)
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
12.04.2011, 21:22  [ТС]     напечатать слово #8
ущё вопрос если позволите а как отменить любое нажатие клавиш?
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
13.04.2011, 00:48     напечатать слово #9
хм..интересно вот рабочая функция

C++
1
2
3
4
5
6
7
void AltEnter()
{
   keybd_event(VK_MENU,0x38,0,0);
   keybd_event(VK_RETURN,0x1c,0,0);
   keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);
   keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
}
однако на сайте http://msdn.microsoft.com/en-us/library/ms927178.aspx
коды другие..
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
13.04.2011, 17:49  [ТС]     напечатать слово #10
и что это делает?у меня наример ошибку выдаёт
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2011, 08:31     напечатать слово
Еще ссылки по теме:

C++ Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква
C++ Дано предложение. Напечатать самое длинное слово
Слово произвольной длины напечатать в виде треугольника C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Digit@ll
Brainsbreaker
 Аватар для Digit@ll
832 / 343 / 27
Регистрация: 01.02.2011
Сообщений: 1,483
14.04.2011, 08:31     напечатать слово #11
Манипуляции с клавиатурой. Подключи вот эту функцию на кнопку, увидишь...
C++
1
2
3
4
5
6
7
8
9
10
void AltEnter()
{
    keybd_event (VK_NUMLOCK,0,KEYEVENTF_KEYUP,0);
    keybd_event (VK_CAPITAL,0,KEYEVENTF_KEYUP,0);
    keybd_event (VK_SCROLL,0,KEYEVENTF_KEYUP,0);
    keybd_event (VK_NUMLOCK,0,0,0);
    keybd_event (VK_CAPITAL,0,0,0);
    keybd_event (VK_SCROLL,0,0,0);
    
}
Yandex
Объявления
14.04.2011, 08:31     напечатать слово
Ответ Создать тему
Опции темы

Текущее время: 23:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru