Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Нестабильное поведение GetFileVersionInfoSizeW и GetFileVersionInfoW Добрый вечер. Столкнулся с неприятной проблемой. Сделал в своей программе обновление, для это считываю с атрибутов текущего файла его версию, а так же с файла лежащего на удалённом сетевом путе (или на локальном ПК, суть не меняется) и сравниваю. Но заметил странное поведение, если несколько раз подряд запускать программу (для теста), то считывания проходит каждый раз по разному, может определить... https://www.cyberforum.ru/ win-api/ thread2124852.html Возможно ли считать 2000 пикселей с экрана, очень быстро? C++ WinAPI
Возникла задача, сделать программу для перевода текста из картинки, но столкнулся с проблемой, что пиксели считываются очень медленно, с getpixel это вообще занимает очень много времени, я даже не ждал, а вот был еще какой-то способ я его скопировал, что то с bitmap связано, но он тоже работает очень долго, но уже быстрее. Если способ как-то считать пиксели с экрана за 1 секунду? Или это вообще...
C++ WinAPI PE hender из процесса Ситуация такая пишу функцию которая будет ловить pe inject или runPE как я понял способ только 1, это сравнить IMAGE_DOS_HEADER если правильно понимаю то есть заголовки файла и процесса который запущен, получить PE hender процесса легко инструкций и примеров сотни... но как получит тоже самое из памяти процесса? помогите разобраться. вот пример как получить PE hender из файла https://www.cyberforum.ru/ win-api/ thread2124760.html C++ WinAPI Запись координат для клика и ожидание нажатия клавиши мыши https://www.cyberforum.ru/ win-api/ thread2124735.html
Здравия желаю. Я писал программу - кликер в которой мне нужно выполнить такую задачу: 1)Записать координаты, по которым кликнул пользователь. 2)Воспроизвести клик с помощью полученных координат. Проблема находится именно в 1 задаче. Я хочу сделать что-то типа ожидания , пока пользователь не нажмет на ЛКМ, после чего корды запишутся. P.S. Долго искал, однако не смог ничего найти.
Обозначения _In_, _Inout_ в MSDN C++ WinAPI
Дароу, что значат в мсдн следующая инфа: int DrawText( _In_ HDC hDC, _Inout_ LPCTSTR lpchText, _In_ int nCount, _Inout_ LPRECT lpRect, _In_ UINT uFormat ); что такое _Inout_ и _In_ ?
C++ WinAPI Протоколирование событий WinAPI https://www.cyberforum.ru/ win-api/ thread2124653.html
Необходимо реализовать протоколирование событий на WinAPI, что то типа Event Logger но попроще. Может кто подскажет где найти что-то похожее или есть у кого?
C++ WinAPI Получить код завершения дочернего процесса Можно ли в материнском процессе получить с каким кодом завершился дочерний процесс? Добавлено через 20 секунд cout << GetExitCodeProcess(pi.hProcess, lpExitCode); Выдает ошибку https://www.cyberforum.ru/ win-api/ thread2124162.html C++ WinAPI Не компилируется код!
#include <windows.h> int main() { HWND hWnd; hWnd = FindWindow (NULL, "Калькулятор"); SetWindowLong (hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED); SetLayeredWindowAttributes (hWnd, 0, (255*70)/100, LWA_ALPHA); }
C++ WinAPI Поиск изображения в другом изображении (BMP) Всем привет! Делаю поиск выбранного изображения (PIC_1) в другом изображении (PIC_2). Вроде бы разобрался, но возникла ошибка. Если картинки одинаковые (ну то есть вообще идентичные (по размеру и всему остальному)), то ищется без проблем. Если же "PIC_2" (то, в котором ищем) больше по размеру, то пиксили хорошо сравниваются до определенного момента. В этот момент почему-то их цвета... https://www.cyberforum.ru/ win-api/ thread2123800.html C++ WinAPI Книжко по Windows Multimedia https://www.cyberforum.ru/ win-api/ thread2123431.html
Нужна литература по Windows Multimedia, Video for windows. Желательно на русском, но можно и на инглиш.
C++ WinAPI Мини paint
Доброго дня. Практикуюсь в GDI, пытаюсь для начала сделать начертание прямоугольника аля paint. (мышкой) Алгоритм таков: рисую на backbuffer'е, затем переношу на клиентское окно. Но! Как мне хранить предыдущие орисованные прямоугольники? Не выходит, они стираются...буду рад любой помощи. По надобности прикреплю весь проект. Набросал следующее: LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg,...
C++ WinAPI Что такое VM как доступ Всем привет. Что такое: VM operation, VM read, VM write, Duplicate handles в доступе у хэндла? VM - virtual memory? Значит RPM и WPM с такими правами будут работать? Как работать с Duplicate handles доступом (команда дублирования хэндла, если можно)? https://www.cyberforum.ru/ win-api/ thread2122290.html
0 / 0 / 0
Регистрация: 14.05.2017
Сообщений: 29
21.11.2017, 17:01  [ТС] 0

Журнал событий - C++ WinAPI - Ответ 11868522

21.11.2017, 17:01. Показов 27940. Ответов 35
Метки (Все метки)

Ответ

C++ (Qt)
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include <windows.h>
#include <ctime>
#include <iostream>
#include <string>
 
//EVENTLOGRECORD{
//....
//DWORD  DataOffset;    // Offset from beginning of record
// Then follow:
//
// WCHAR SourceName[]
// WCHAR Computername[]
// SID   UserSid
// WCHAR Strings[]
// BYTE  Data[]
// CHAR  Pad[]
// DWORD Length;
 
char* pEventTypeNames[] = { "Error", "Warning", "Informational", "Audit Success", "Audit Failure" };
 
DWORD GetEventTypeName(DWORD EventType); //Получение имени типа события
 
std::string conv_time(DWORD dwTime) { //
    std::time_t result = dwTime;
    return std::asctime(std::localtime(&result));
}
 
void print_one_record(BYTE *rec) { //Выводим одну запись
 
    EVENTLOGRECORD *pRecord = (EVENTLOGRECORD*)rec;
 
 
    //std::wcout<<str;
 
    std::cout << "EventType: " << pEventTypeNames[GetEventTypeName(pRecord->EventType)] << std::endl;
    wchar_t *str = (wchar_t*)(rec + sizeof(EVENTLOGRECORD)); //WTF???? is not wchar_t
    wchar_t *ptr = (wchar_t*)(rec + sizeof(EVENTLOGRECORD)+str.length()+1); 
    
//    std::wstring source_name((wchar_t*)(rec + sizeof(EVENTLOGRECORD)));
 //      std::wstring computer_name((wchar_t*)(rec + sizeof(EVENTLOGRECORD) + source_name.length() + 1));
 
       std::wcout << L"Provider: " << str << std::endl;
       std::wcout << L"ComputerName: " << ptr << std::endl;
    std::cout << "Length: " << pRecord->Length << std::endl;
    std::cout << "RecordNumber: " << pRecord->RecordNumber << std::endl;
    std::cout << "TimeGenerated: " << conv_time(pRecord->TimeGenerated) << std::endl;
    int count = 0;
    std::cout << "--Strings-- [ " << pRecord->Length << " ]" << std::endl;
    for (char *str = (char*)(rec + pRecord->StringOffset); count < pRecord->NumStrings; ++count) {
        std::cout << "  -> " << str << std::endl;
        str += strlen(str) + 1;
    }
 
}
 
void print_records(BYTE *rec, DWORD rec_size) { //повторяем вывод записей до тех пор, пока в журнале не кончатся записи
    PBYTE pRecord = rec;
    PBYTE pEndOfRecords = rec + rec_size;
 
    while (pRecord < pEndOfRecords)
    {
        print_one_record(pRecord);
 
        pRecord += ((PEVENTLOGRECORD)pRecord)->Length;
    }
 
}
 
int main()
{
    const unsigned MAX_BUFF_SIZE = 0x10000;
 
    DWORD NumberOfRecords = 0;
    BYTE *pBuffer = new BYTE[MAX_BUFF_SIZE];
    DWORD dwBytesToRead = MAX_BUFF_SIZE;
    DWORD status = ERROR_SUCCESS;
 
    DWORD dwBytesRead = 0;
    DWORD dwMinimumBytesToRead = 0;
 
    HANDLE hEventLog = OpenBackupEventLogA(NULL, "C:\\Kurs\\system.evtx"); //Вводим имя нужного нам журнала
 
    setlocale(LC_ALL, "Russian");//устанавливаем русский язык
    if (!hEventLog)
    {
        std::cout << "OpenBackupEventLogA [ " << std::hex << GetLastError() << " ]" << std::endl; //вывод последней ошибки
        return 0;
    }
 
    if (!GetNumberOfEventLogRecords(hEventLog, &NumberOfRecords))
    {
        std::cout << "GetNumberOfEventLogRecords [ " << std::hex << GetLastError() << " ]" << std::endl;
        return 0;
    }
 
    std::cout << "NumberOfRecords [ " << NumberOfRecords << " ]" << std::endl;
 
    while (ERROR_SUCCESS == status)
    {
        if (!ReadEventLog(hEventLog,
            EVENTLOG_SEQUENTIAL_READ | EVENTLOG_BACKWARDS_READ,
            0,
            pBuffer,
            dwBytesToRead,
            &dwBytesRead,
            &dwMinimumBytesToRead))
        {
            status = GetLastError();
            if (ERROR_INSUFFICIENT_BUFFER == status)
            {
                status = ERROR_SUCCESS;
 
                BYTE *pTemp = new BYTE[dwMinimumBytesToRead];
                delete[] pBuffer;
 
                pBuffer = pTemp;
                dwBytesToRead = dwMinimumBytesToRead;
            }
            else
            {
                if (ERROR_HANDLE_EOF != status)
                {
                    if (hEventLog)
                        CloseEventLog(hEventLog);
                    delete[] pBuffer;
                    return 0;
                }
            }
        }
        else
        {
 
            print_records(pBuffer, dwBytesRead);
        }
    }
 
    if (hEventLog)
        CloseEventLog(hEventLog);
 
    delete[] pBuffer;
    return 0;
}
 
 
DWORD GetEventTypeName(DWORD EventType) //Получение имени типа события
{
    DWORD index = 0;
 
    switch (EventType)
    {
    case EVENTLOG_ERROR_TYPE:
        index = 0;
        break;
    case EVENTLOG_WARNING_TYPE:
        index = 1;
        break;
    case EVENTLOG_INFORMATION_TYPE:
        index = 2;
        break;
    case EVENTLOG_AUDIT_SUCCESS:
        index = 3;
        break;
    case EVENTLOG_AUDIT_FAILURE:
        index = 4;
        break;
    }
 
    return index;
}
Вот попробовал исправить, появилось это.

Вернуться к обсуждению:
Журнал событий C++ WinAPI
Миниатюры
Журнал событий  
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2017, 17:01
Готовые ответы и решения:

Журнал событий Windows
Необходимо написать программу на Winapi, которая будет считывать данные из Журнала событий Windows.

Журнал событий?
надо создать что-то типа журнала событий. проблема в том чтобы вести хронологию. замучался с...

Журнал событий
Есть объект. И есть 30 сигналов. У каждого сигнала есть своё одно состояние (либо авария(красный...

Журнал событий
Здраствуйте!! Запара втом что нужно написать програму з выкорыстанням функцыи: ...

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

Проблема с функцией журнал событий
Переношу проект из Rad XE 2010 в Rad XE2. Ну и конечно не без проблем, в решении которых я все...

Журнал Событий Win32API: OpenBackupEventLog function
Здраствуйте!! Запара втом что нужно написать програму з выкорыстанням функцыи: OpenBackupEventLog...

Журнал событий с записью в файл с перегуженными операциями
Доброго времени суток! Кто может помочь с написанием программы? Нужно или полностью, либо какие...

Электронный Журнал на С++
помогите сделать программу «электронный журнал». Программа должна хранить о студенте данные:...

Долговой журнал магазина
Доброго здравия, дорогие форумчане. Программировать я еще только учусь. Хочу написать долговой...

Структуры. Журнал посещения
Необходимо создать список студентов и отмечать их посещение + и -. у меня получилось только:...

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