Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Builder Внедренние в процесс Может кто дать пример кода программы, которые например внедряется в стандратный telnet(который идет в составе windows xp) и отсылает примерно такую команду open 127.0.0.1:4000 https://www.cyberforum.ru/ cpp-builder/ thread243172.html C++ Builder Не могу исправить ошибки!
//--------------------------------------------------------------------------- #include <vcl.h> #include <math.h> #pragma hdrstop #include "enzo_repetitor.h"...
C++ Builder Реестр в ListView Здравствуйте. Пытаюсь что то сделать на подобие Regedit'а, но возникла проблема. Как вывести все параметры ключа, полученные reg->GetValueNames(l) в первую колонку ListView'a? https://www.cyberforum.ru/ cpp-builder/ thread243138.html C++ Builder Напечатать StringGrid!!! Как распечатать таблицу StringGrid при помощи PrintDialog??? Если возможно приведите примеры https://www.cyberforum.ru/ cpp-builder/ thread243120.html
C++ Builder реализация перестановочного алгоритма шифрования
Всем привет. Подскажите реализацию алгоритма перестановочного шифрования. Требуется открыть текстовый файл, разбить его на блоки длинной по 15бит, и переставить местами любые 2 бита, ну и...
C++ Builder вставка большого количества записей в таблицу Word https://www.cyberforum.ru/ cpp-builder/ thread243035.html
Здравствуйте. Используя OLE Word Automation, можно ли вставить в таблицу большое количество записей (~20000)? А то ежели построчно вставлять в таблицу данные, то о-о-очень долго выходит: int...
C++ Builder вопрос по классам https://www.cyberforum.ru/ cpp-builder/ thread242897.html
Задание состоит в том, что создается класс для работы с векторами, одна из функций должна выполнять отнимание векторов, с ней у меня и возникли проблемы: ошибка: " Unresolved external...
C++ Builder Не могу дописать простую программу!!!
Есть исходный текст программы: _________________________________________________________________________________________ # include <stdio.h> # include <conio.h> # include <iostream.h> # define...
C++ Builder TTreeView - количество всех потомков В общем при добавлении node в дерево я увеличиваю переменную countNode на единицу. Её я использую для перебора всех node в дереве. Если есть уже зарезервированная переменная или можно как то иначе... https://www.cyberforum.ru/ cpp-builder/ thread242872.html C++ Builder Телик и ПК (два монитора) https://www.cyberforum.ru/ cpp-builder/ thread242807.html
Как в Windows 7 вывести изображение на телевизор (клон). Пока Windows 7 не загрузилась телек видет комп, как только появляется окно пользователи всё пропадает. В чём проблема подскажите, пожалуйста.
C++ Builder Массивы
Недавно начал изучать СИ. Никак не получаются массивы. Есть код программы в паскале, переведите плз в СИ var i,n,max,c:integer; a:array of integer; begin max:=-16000; read(n); c:=0; for...
C++ Builder Произвести выборку из файла с записью в другой файл Суть в следующем: Имеется лог файл содержащий информацию в следующем виде дан - какие-то данные строка 1 имеет вид: дан дан дан дан дан дан 7771111-L-18@192.168.1.1:1297771111 дан дан дан дан... https://www.cyberforum.ru/ cpp-builder/ thread242730.html
517 / 305 / 58
Регистрация: 30.07.2008
Сообщений: 607
16.02.2011, 14:45 0

PostMessage(hWnd,WM_KEYDOWN,VK_F5,0) - C++ Builder - Ответ 1373435

16.02.2011, 14:45. Показов 10901. Ответов 10
Метки (Все метки)

Ответ

Цитата Сообщение от igor-x Посмотреть сообщение
...например, Винамп не принимает такие Postmessage,
а SendMessage(HWND_BROADCAST, WM_KEYDOWN, 0x30, 0); принимает..
не подскажете в чем может быть дело?
PostMessage - ставит сообщение в очередь
SendMessage - отправляет "принудительно"

Добавлено через 20 минут
Вот я делал для Lineage кликер но переделать для чего то другого несложно
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
#include <windows.h>
#include <psapi.h>
//---------------------------------------------------------------------------
#pragma comment(lib, "C:\Program Files\Borland\CBuilder6\Lib\Psdk\psapi.lib")
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
#define raz 256 // !!!!!!!!!!!!!!
//---------------------------------------------------------------------------
struct TMyStruct
// структура
{
    HWND handle;
    String class_name;
    String window_caption;
    String binary_name;
    DWORD pid;
};
//---------------------------------------------------------------------------
TMyStruct win[raz];
int winlen = 0; // !!!!!!!!!!!!!!
//---------------------------------------------------------------------------
String wj_GetBinName(HWND handle_x)
{
    DWORD pid;
    String process;
    HANDLE hProc;
    char szProcessName[raz];
    HMODULE ahMod[32];
    DWORD dwNeeded;
    bool good = false;
    if(!handle_x)
    {
        return "null";
    }
    else
    {
        GetWindowThreadProcessId(handle_x, &pid);
 
        hProc = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, false, pid);
 
        if(hProc)
        {
            if(EnumProcessModules(hProc, ahMod, sizeof(ahMod), &dwNeeded))
            {
                if(GetModuleBaseName(hProc, ahMod[0], szProcessName, sizeof(szProcessName)))
                {
                    good = true;
                }
                else
                {
                    good = false;
                }
            }
            CloseHandle(hProc);
        }
    }
    if(good)
    {
        win[winlen].pid = pid;
        return String(szProcessName);
    }
    else
    {
        return "null";
    }
}
//---------------------------------------------------------------------------
bool wj_LGEN(HWND hWnd)
{
    char WindowName[raz];
    char ClassName[raz];
    GetWindowText(hWnd, WindowName, raz);
    GetClassName(hWnd, ClassName, raz);
    if(IsWindow(hWnd))
    {
        win[winlen].handle = hWnd;
        win[winlen].class_name = String(ClassName);
        win[winlen].window_caption = String(WindowName);
        win[winlen].binary_name = wj_GetBinName(hWnd);
        winlen++;
    }
    return true;
}
//---------------------------------------------------------------------------
void wj_ClickWindow(HANDLE Handle, int but)
{
// ПОСЫЛАЕМ НАЖАТИЕ КНОПКИ  WM_KEYDOWN + WM_KEYUP
    if(IsWindow(Handle) == true, Handle != 0)
    {
        SendMessage(Handle, WM_KEYDOWN, but, NULL);
        SendMessage(Handle, WM_KEYUP, but, NULL);
    }
}
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    EnumWindows((WNDENUMPROC)wj_LGEN, NULL); // заполняем структуру
    /*
    Итак мы имеем:
    win[i].handle; // Хендл окна
    win[i].class_name; // имя класса окна
    win[i].window_caption; // заголовок
    win[i].binary_name; // имя исполняемого ЕХЕ файла
    win[i].pid; // ПИД процесса
 
    winlen - это количество добавленных данных, в массив
    */
 
    for(int i = 0; i < winlen; i++)
    {
        if(win[i].window_caption.Pos("Lineage") == 1) // если в заголовке встречается "Lineage"
        {
            if(win[i].binary_name == "l2.bin" || win[i].binary_name == "l2.exe") // если имя процесса l2.bin или l2.exe
            {
                wj_ClickWindow(win[i].handle, VK_F1);
                // так наприме посылаем всем F1
            }
        }
    }
    winlen = 0;
 
    return NULL;
}
//---------------------------------------------------------------------------
///////////////////////
немного подправил для наглядности

Вернуться к обсуждению:
PostMessage(hWnd,WM_KEYDOWN,VK_F5,0) C++ Builder
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2011, 14:45
Готовые ответы и решения:

PostMessage+FindWindow+WM_KEYDOWN
Такая проблема, при использовании PostMessage + FindWindow для нажатия клавиши(WM_KEYDOWN), не...

Цикл и PostMessage
Добрый день. PostMessage отказывается работать в цикле, как я понимаю, что не успевает отработать ...

PostMessage VS Win 10
На данной версии ОС,напрочь отказываются работать PostMessage, ни кто не сталкивался?

PostMessage, SendMessage
Здравствуйте. Вопрос такой: я посылаю сообщения PostMessage и SendMessage в свернутое окно чужой...

10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2011, 14:45
Помогаю со студенческими работами здесь

PostMessage - координаты объекта в игре
Идея такая. Как использовать postmessage знаю. Но вот используя spy++ он берет все окно 3d игры как...

Обработка сообщения от PostMessage другой программы
Здравствуйте, коллеги! Подскажите добрым словом, делом, а может быть и кодом. Есть приложение...

HWND в Label
Пишу такой код: HWND H; H = FindWindow(&quot;TForm1&quot;, &quot;Test&quot;); if (H == NULL) { ...

Convert void to HWND
Ошибка:E2034 Cannot convert 'void *' to 'HWND__ *' Понимаю что вопрос идиотский, но все же, что...

HWND и отправка им сообщений.
Здравствуйте, я начал изучать язык C++. А также начал обучение для работы с C++ Borland 6. Неддавно...

Глобально задать HWND
Здравствуйте! Я работаю в среде Builder 6. Меня интересует ответ на вопрос: Как объявить HWND для...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru