Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Подскажите, что не так? #include "stdafx.h"#include <iostream>using namespace std; int _tmain(int argc, _TCHAR* argv){ int sec; sec = 364 * 24 * 60 * 60; cout << "max_sec_int = " << INT_MAX << endl; cout << "sec = " << sec << endl; cout << "sec (100) = " << sec*100 << endl; cout << "sec (1000)= " << sec*1000 << endl; long int sec_long; cout << "max_sec_long = " << LONG_MAX << endl; https://www.cyberforum.ru/ win-api/ thread2500432.html Как не подвергать закрашиванию Static? C++ WinAPI
Здравствуйте! В окне рисуются некоторые графики. Есть в том числе и горизонтальная ось, подписи её — элементы (окна) Static. При перемещении окна приходится перерисовывать все линии — графики и оси — чтобы после захода окна за область рабочего стола они не стирались с окна. Для этого я при каждой перерисовке создаю закрашенный белый прямоугольник и все линии вывожу вновь. Всё бы ничего, но...
C++ WinAPI GetWindowRect не учитывает рамки https://www.cyberforum.ru/ win-api/ thread2500101.html
Здравствуйте.При вызове функции GetWindowRect не учитываются рамки окна. Мой код: RECT rect_window = { 0, 0, 0, 0 }; if (!GetWindowRect(WindowHandle, &rect_window)) continue; int x = rect_window.left; int y = rect_window.top;
C++ WinAPI HPEN и HBRUSH: получить стоковые значения Есть программа, применяющая рисование в консоли. Есть код: HWND hwnd = GetConsoleWindow(); HDC hdc = GetDC(hwnd); RECT rt; HPEN hMyPen = CreatePen(PS_SOLID, 5, RGB(255, 0, 0)); HBRUSH hMyBrush = CreateSolidBrush(RGB(0, 255, 0)); HPEN hOldPen = SelectPen(hdc, hMyPen); HBRUSH hOldBrush = SelectBrush(hdc, hMyBrush); https://www.cyberforum.ru/ win-api/ thread2499944.html
C++ WinAPI Создание окна WinAPI
Доброго времени суток, помогите пожалуйста) Пишу на WinAPI не давно, поэтому еще не все понимаю. Нужно создать совсем примитивный калькулятор. Саму процедуру расчетов я еще не доработала, но это пока не главное. Проблема в том, что окно не создается. Проверка регистрации окна проходится, а проверка создания окна нет, может быть я где-то забыла что-то прописать. Буду очень благодарна за помощь,...
C++ WinAPI Календарь-Планировщик Есть задача сделать календарь-планировщик. Может быть у кого-то есть исходники? https://www.cyberforum.ru/ win-api/ thread2499456.html
C++ WinAPI При запуске на первого экземпляра приложения выдать сообщение о количестве работающих копий этого приложения. Запустить При запуске на первого экземпляра приложения выдать сообщение о количестве работающих копий этого приложения. Запустить экземпляр, только если согласен пользователь. https://www.cyberforum.ru/ win-api/ thread2499400.html Дескриптор HANDLE в контейнере List C++ WinAPI
Здравствуйте, подскажите, пожалуйста, возможно ли использовать HANDLE из контейнера list? Если да, то как это можно реализовать? Заранее спасибо.
C++ WinAPI Проблемы с ctrl+alt+del Когда я нажимаю это сочетании клавиш у меня вызывается спец-окно и если я нажму что то кроме отмена то тогда все нормально. Но если я нажму отмена у меня показывается на долю секунду рабочий стол а потом приложение в полноэкранном режиме. Как можно избавится от этой задержки. Вот кот. Исправьте его пж #include "windows.h" #include <string> HWND hwnd = NULL; DWORD windowStyle = WS_CAPTION |... https://www.cyberforum.ru/ win-api/ thread2498990.html C++ WinAPI Дочернее окно перемещается в тот угол рабочей области, где нажали левую клавишу мыши Есть такое задание: В центре рабочей области окна отображено дочернее окно с вертикальными и горизонтальными полосами прокрутки размером в четверть этой области. Дочернее окно перемещается в тот угол рабочей области, где нажали левую клавишу мыши. Есть программа, в которой по клику на дочернее окно, оно перемещается по часовой стрелки. Помогите изменить так, чтобы перемещалось к тому углу, по... https://www.cyberforum.ru/ win-api/ thread2498342.html
Работа с полем Edit (как правильно выводить данные?) C++ WinAPI
Здравствуйте! У меня вопрос: как правильно работать с полем Edit? Проблема вот в чём: при работе этого кода выдёт в 5-й и шестой столбец число,но с префиксом "M" ("M150","M0","M250" и т.д.). Пожалуйста подскажите как исправить! #include "framework.h" #include "WorkForPadd.h"
C++ WinAPI Странное поведение при передаче структуры в поток Добрый день! Долгое время пишу только на С# и Qt. Мозги совсем атрофировались от низкоуровневого кода. Но пришлось решать задачу с малыми ресурсами и максимальной скоростью. Математику задачи решил и реализовал. Но потребовалось асинхронное выполнение некоторых функций - сетевой копирование файлов, объемом > 2 Тбайт. Решил выкинуть в поток. И тут возникла проблема. Структура для потока: ... https://www.cyberforum.ru/ win-api/ thread2497466.ht
Эксперт С++
3701 / 2835 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 22
18.09.2019, 12:56 0

GUI отображает имя процесса и сколько памяти он использует - C++ WinAPI - Ответ 13836156

18.09.2019, 12:56. Показов 494. Ответов 3
Метки (Все метки)

Ответ

имя процесс легко ищется через PROCESSENTRY32
а показания памяти нужно обрабатывать в цикле с постоянным обновлением (или через таймер)

с первым могу помочь, но только не на WinAPI, а через DialogBox (код из старого проекта)
Кликните здесь для просмотра всего текста
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
#include "resource.h"
#include <Windows.h>
#include <stdio.h>
#include <TlHelp32.h>
 
HWND hListBox1 = NULL;
HWND hListBox2 = NULL;
HANDLE Snapshot, hProc = NULL;
 
PROCESSENTRY32 ProcEntry = { 0 };
 
INT i = 0;
DWORD ExitCode = 0;
 
INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {
    switch (uMsg) {
    case WM_CLOSE:
        EndDialog(hwndDlg, NULL);
        break;
    case WM_INITDIALOG:
        hListBox1 = GetDlgItem(hwndDlg, IDC_LIST1);
        hListBox2 = GetDlgItem(hwndDlg, IDC_LIST2);
        break;
    case WM_COMMAND:
        switch (wParam) {
        case IDOK:
            if (WM_LBUTTONUP) i += 1;
            switch (i) {
            case 1:
                SendMessage(hListBox1, LB_RESETCONTENT, NULL, NULL);
                SendMessage(hListBox2, LB_RESETCONTENT, NULL, NULL);
                Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
                ProcEntry.dwSize = sizeof(PROCESSENTRY32);
                if (Process32First(Snapshot, &ProcEntry)) {
                    do {
                        CHAR pID[MAXWORD] = "";
                        sprintf_s(pID, "%d", ProcEntry.th32ProcessID);
                        SendMessage(hListBox1, LB_ADDSTRING, NULL, (LPARAM)pID);
                        CHAR Buffer[MAXWORD] = "";
                        sprintf_s(Buffer, "%d - %s", ProcEntry.th32ProcessID, ProcEntry.szExeFile);
                        SendMessage(hListBox2, LB_ADDSTRING, NULL, (LPARAM)Buffer);
                    } while (Process32Next(Snapshot, &ProcEntry));
                    /*hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
                    ThreadEntry.dwSize = sizeof(THREADENTRY32);
                    do {
                        if (ThreadEntry.th32OwnerProcessID == dwProcessID)
                        wprintf(L"ProcessID: %d\nThreadID: %d\n", ThreadEntry.th32OwnerProcessID, ThreadEntry.th32ThreadID);
                    } while (Thread32Next(hSnapshot, &ThreadEntry));*/
                }
                i = 0;
                break;
            default:
                break;
            }
            break;
        case IDCANCEL:
            INT CurrentIndex = (INT)SendMessage(hListBox1, LB_GETCURSEL, NULL, NULL);
            INT TextLen = (INT)SendMessage(hListBox1, LB_GETTEXTLEN, (WPARAM)CurrentIndex, NULL);
            TCHAR *TextBuffer = new TCHAR[TextLen + 1];
            SendMessage(hListBox1, LB_GETTEXT, (WPARAM)CurrentIndex, (LPARAM)TextBuffer);
            INT pID = atoi(TextBuffer);
            hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
            GetExitCodeProcess(hProc, &ExitCode);
            TerminateProcess(hProc, ExitCode);
            break;
        }
        break;
    }
    return FALSE;
}
 
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc, NULL);
    return FALSE;
}


Вернуться к обсуждению:
GUI отображает имя процесса и сколько памяти он использует C++ WinAPI
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2019, 12:56
Готовые ответы и решения:

Сколько использует памяти nodejs
Здравствуйте. Интересует сколько может занимать оперативки 1 node процесс. И нормально ли что...

Сколько оперативной памяти максимально использует excel 2010
Уважаемые эксперты, подскажите пожалуйста , есть ли смысл увеличивать оперативку с 4 до 8 гб, ...

Как сверить имя процесса и путь основного процесса?
Подскажите как мне сверить путь с именем процесса svchost.exe если файл запущен из папки System32...

Как узнать имя процесса, зная имя программы?
Здравствуйте, подскажите пожалуйста, как узнать имя процесса выполняемой программы, зная имя этой...

3
18.09.2019, 12:56
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2019, 12:56
Помогаю со студенческими работами здесь

мне нужно создать ползунок памяти, то есть что бы показывало сколько памяти свободно и сколько занято!
Ребят помогите пожалуйста!!! мне нужно создать ползунок памяти, то есть что бы показывало сколько...

Чтение памяти другого процесса по таймеру: нужно ли закрывать хэндл процесса?
В моём варианте работает так: По таймеру (0,1 сек) определяю ID процесса по ехе-шнику, получаю...

Узнать PID процесса, который использует порт
Собственно сабж.

Получить handle процесса, который использует файл в данный момент
собственно, вопрос в этом. не нашел ничего в тырнете по этому поводу

0
Новые блоги и статьи
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
Как работать со скрытыми (hidden) элементами в jQuery
InfoMaster 18.01.2025
В современной веб-разработке управление видимостью элементов на странице является одним из ключевых аспектов создания интерактивных пользовательских интерфейсов. jQuery предоставляет мощный набор. . .
Как переключаться между ветками (Branch) с помощью checkout в Git
InfoMaster 18.01.2025
Ветки в Git являются одной из ключевых концепций для управления версионностью кода, позволяя разработчикам эффективно работать в команде и параллельно развивать программные проекты. Каждый новый. . .
Что такое стек и куча, чем они отличаются и где находятся
InfoMaster 18.01.2025
Понимание основных концепций памяти в программировании В мире современного программирования эффективное управление памятью играет ключевую роль в создании производительных и надежных приложений. . . .
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru