С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
#1

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

12.04.2011, 20:32. Просмотров 820. Ответов 10
Метки нет (Все метки)

Здравствуйте господа програмисты!!!можноли допустим как то задать(програмно),что бы печаталось слово.например наша программа запущенна,затем открываем любой файл .txt и она туда пишет любое слово,и ещё можно ли програмно нажать на кнопку пуск?
Заранее всем огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 20:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос напечатать слово (C++):

Напечатать слово с заглавной буквой А - C++
Вот мой код но некоторые ошибки есть. Надо исправить ошибку или другой код надо написать #include <iostream> #include <string> ...

Напечатать каждое слово с новой строки - C++
Задача: написать программу, принимающую вводимый пользователем текст, и преобразовывающая его так, чтобы каждое слово печаталось на...

Напечатать заданное слово задом наперед - C++
Составить программу, которая печатает заданное слово задом наперед

Слово произвольной длины напечатать в виде треугольника - C++
ввести слово произвольной длины и напечатать его в виде треугольника с++

Дано предложение. Напечатать самое длинное слово - C++
Дано предложение. Напечатать его самое длинное слово(принять что такое слово-единственное) Добавлено через 9 минут есть похожая...

Напечатать слово, образованное элементами массива, отмеченными звездочкой - C++
Дан двумерный массив размером 5x5, заполненный буквами. Напеча¬тать слово, образованное элементами массива, отмеченными звездочкой (рис....

10
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

Если что-то не понятно, пишите с радостью объясню. Сейчас как раз эмуляцией и занимаюсь)
1
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
12.04.2011, 20:42  [ТС] #3
а не льзя ли посмотреть исходник?
0
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);//отпустили
}
1
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);// отпускаем
1
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
12.04.2011, 20:45  [ТС] #6
спасибо более менее понял а как отследить нажатие клавиши CTRL?
0
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 минуты
Кстати если вы захотите эмулировать зажатие клавиши, то вам придется использовать цикл и в нем нажимать клавишу, т.к. зажатие клавиши это нечто иное, как ее многократное нажатие)
1
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
12.04.2011, 21:22  [ТС] #8
ущё вопрос если позволите а как отменить любое нажатие клавиш?
0
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
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
коды другие..
0
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
13.04.2011, 17:49  [ТС] #10
и что это делает?у меня наример ошибку выдаёт
0
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,586
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);
    
}
0
14.04.2011, 08:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2011, 08:31
Привет! Вот еще темы с ответами:

Напечатать самое длинное слово, найденное в текстовом файле - C++
ЗДРАВСТВУЙТЕ! подскажите с чего начать в решениие этой задачи ==&gt; &quot;Напечатать самое длинное слово, найденное в текстовом файле&quot;, нужно...

задан массив слов. напечатать самое короткое слово - C++
помогите написать код

Найти в каждом первое слово и напечатать их в строку через пробел - C++
Доброго времени суток. Помогите, пожалуйста, написать программу на Си. Задание: Даны N предложений. Найти в каждом первое слово и...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.