Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17

как сделать чтоб команды выполнялись для определенного окна?

22.11.2010, 15:45. Показов 1702. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
 
keybd_event(VK_F1, 0,0,0) ;
 
        return 0;
}
допустим чтоб нажималось F1 в окне программы,и еще вопрос отпускать f1 надо? как на примере с мышкой?
C++
1
2
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); // нажали левую кнопку мыши
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); // отпустили левую кнопку мыши
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2010, 15:45
Ответы с готовыми решениями:

Стек cmd содержит комманды; как сделать так, чтобы эти команды выполнялись в отдельных потоках?
Стек cmd содержит комманды. Нужно сделать так, чтобы эти команды выполнялись в отдельных потоках. Пробовал 2-мя способами. ...

Как сделать чтоб база б/д access работала до определенного времени
Как сделать чтоб база б/д access работала до определенного времени, какой макрос там нужен... Заранее благодарен всем откликнувшимся! ...

Не могу понять как работает gluPerspective и все с ним связанное Как сделать чтоб куб не деформ. при изменении окна?
#include &lt;GL/glew.h&gt; #include &lt;GLFW/glfw3.h&gt; #pragma comment(lib, &quot;glu32.lib&quot;) #pragma comment(lib, &quot;opengl32.lib&quot;) #pragma...

7
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
22.11.2010, 16:07
про F1, конечно надо! вы же отпускаете кнопку на клавиатуре после того как на неё нажмёте ?
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17
22.11.2010, 16:15  [ТС]
Цитата Сообщение от Matrica Посмотреть сообщение
про F1, конечно надо! вы же отпускаете кнопку на клавиатуре после того как на неё нажмёте ?
ну уже б написали как?
0
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
22.11.2010, 16:22
сорри, думал я не один справку обожаю открывать

C++
1
2
keybd_event(VK_F1,0,KEYEVENTF_KEYUP,0); //нажать
keybd_event(VK_F1,0,KEYEVENTF_EXTENDEDKEY,0); //отпустить
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17
22.11.2010, 16:38  [ТС]
ну а ответ на осонвной вопрос так и не услышал
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
22.11.2010, 17:22
mamuted, посмотрите этот пост: Передача обработчика клавиш
1
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 17
24.11.2010, 19:10  [ТС]
C++
1
HWND h = FindWindow(NULL,L"Безымянный — Блокнот");
а если по названию окна не находит, есть еще варианты есть как это организовать?
0
 Аватар для Mrak19901124
47 / 12 / 4
Регистрация: 25.02.2010
Сообщений: 259
24.11.2010, 20:09
Бот для WoW
а если короче то прогой WinSpy узнаёшь Handle нужного окна для блокнота там нуно Handle едита который в блокноте
а дальше

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 <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
HWND StrHexToHWND(AnsiString s)
{
    HWND h = NULL;
    s = "0x" + s;
    h = (HWND)(StrToInt(s));
    return h;
}
//---------------------------------------------------------------------------
void ClickWindow(int but)
{
    HWND Handle = StrHexToHWND(Form1->Edit1->Text); // в edit1 Handle нужного окна
 
    if (IsWindow(Handle)) // существует ли окно с таким Handle
    {
        SendMessage(Handle, WM_KEYDOWN, but, NULL); // нажимаем
        SendMessage(Handle, WM_KEYUP, but, NULL); // отпускаем
        //или бывает что нужно не SendMessage
        //PostMessage(Handle, WM_KEYDOWN, but, NULL); для блокнота нуно PostMassage писать место SendMessage
        //PostMessage(Handle, WM_KEYUP, but, NULL);
    }
    else
    {
        ShowMessage("Bad handle!");
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ClickWindow(VK_F1);
ClickWindow(0x5A); // это клавиша Z
}
//---------------------------------------------------------------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.11.2010, 20:09
Помогаю со студенческими работами здесь

Бот VK. Как сделать так, чтоб при непонятном сообщении он выдавал сообщение "Не понял команды"
Пробовал через else, ничего не получается case 'confirmation': echo $confirmation_token; break; case...

Как сделать при нажатии на кнопку (отправлении команды во ViewModel) Cursor.Wait у окна?
Здравствуйте, возникла жуткая потребность, чтобы сделать при нажатии на кнопку (отправлении команды во ViewModel) Cursor.Wait у окна, НО,...

Как сделать, чтобы методы выполнялись последовательно
Добрый день! У меня есть контролер, в нём 2 метода: добавление графики и загрузка данных с сервера. Когда я перехожу в этот контролер, то...

Как сделать, чтобы потоки выполнялись параллельно?
у меня есть 6 потоков, но как мне сделать чтобы они шли параллельно ? static void Main(string args) { Thread t1 =...

Как сделать чтобы параллельно два foreach выполнялись?
Добрый день! Проблема в том, у меня много значений для реестра, и я решил уменьшить повторения путей, я сделал листы значений и...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru