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

Открыть Диспетчер задач

20.03.2019, 17:24. Показов 4495. Ответов 16

Студворк — интернет-сервис помощи студентам
почему не открывает Диспетчер задач. Помогите, плез
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
case WM_LBUTTONDOWN:
        HANDLE FileHandle;
        FileHandle = CreateFile(TEXT("taskmgr.exe"), GENERIC_READ,          // открываем для чтения
            FILE_SHARE_READ,       // для совместного чтения
            NULL,                  // защита по умолчанию
            OPEN_EXISTING,         // только существующий файл
            FILE_ATTRIBUTE_SYSTEM, // обычный файл
            NULL);
        if (FileHandle == INVALID_HANDLE_VALUE)
        {
            MessageBox(hwnd, L"LOX", L"Error", MB_OK);
            GetLastError();
            return 0;
        }
        CloseHandle(FileHandle);
        break;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2019, 17:24
Ответы с готовыми решениями:

Диспетчер задач
Исходный код диспетчера задач, он предоставляет информацию о производительности компьютера и запущенных приложениях, процессах и...

Диспетчер задач
Здравсвуйте, помогите пожалуйста исправить ошибку в коде,написанном на С++ и реализующем диспетчер задач, аналогичный диспетчеру задач...

Диспетчер задач
http://cs425917.vk.me/v425917401/34ad/MltH1vF9JRw.jpg

16
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2019, 17:48
MAtienko, укажите полный путь: "c:\\windows\\system32\\taskmgr.exe"
0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 10
20.03.2019, 18:11  [ТС]
Нет, не помогло. Я думаю, может это из-за того, что он не может войти в System32, права администратора там ему мешают?
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2019, 18:16
Может. Какой возвращается код возврата?
А зачем открывать файл диспетчера, если не секрет?
Кстати, права админа как раз помогают А вот нехватка прав, это другое дело
0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 10
20.03.2019, 18:18  [ТС]
Лабу такую задали. А как проверить код возврата?))))

На INVALID_HANDLE_VALUE не реагирует
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2019, 18:20
int err = GetLastError();
0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 10
20.03.2019, 18:26  [ТС]
ааа, я тупой, соре, куда мне это написать, чтобы увидеть ошибку?

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
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
    
    switch (Message)
    {
    case WM_LBUTTONDOWN:
        //OpenFile("cmd.txt", NULL, OF_READ);
 
        //_lopen("cmd.exe", GENERIC_READ);
 
 
        //UINT Andrew;
        //Andrew = WinExec("C:\\Windows\\System32\\taskmgr.exe", SW_SHOW);
        //if (Andrew == ERROR_PATH_NOT_FOUND) //ERROR_FILE_NOT_FOUND //ERROR_PATH_NOT_FOUND //ERROR_BAD_FORMAT
        //{
        //  MessageBox(hwnd, L"Формат exe файла неверен", L"Error", MB_OK);
        //}
 
 
        //ShellExecuteW(hwnd, "open", "cmd.exe", NULL, NULL, SW_SHOWNORMAL);
 
        HANDLE FileHandle;
        FileHandle = CreateFile(TEXT("C:\\Windows\\System32\\taskmgr.exe"), GENERIC_READ,          // открываем для чтения
            FILE_SHARE_READ,       // для совместного чтения
            NULL,                  // защита по умолчанию
            OPEN_EXISTING,         // только существующий файл
            FILE_ATTRIBUTE_SYSTEM, // обычный файл
            NULL);
 
        
        int err = GetLastError();
 
        if (FileHandle == INVALID_HANDLE_VALUE)
        {
            MessageBox(hwnd, L"LOX", L"Error", MB_OK);
            GetLastError();
            return 0;
        }
        CloseHandle(FileHandle);
        break;
        break;
    case WM_USER + 1:
        MessageBox(NULL, L"Прошло", L"Info", MB_OK);
        break;
    case WM_DESTROY:
        PostQuitMessage(NULL);
        break;
    default:
        return DefWindowProc(hwnd, Message, wparam, lparam);
    }
    return NULL;
}
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2019, 18:30
Уже ж было
C++
1
2
3
4
5
6
     if (FileHandle == INVALID_HANDLE_VALUE)
        {
            int err = GetLastError();
            MessageBox(hwnd, L"LOX", L"Error", MB_OK);
            return 0;
        }
А посмотреть, либо в отладчике, либо сформировать строку "Error = ..." и вывести в MessageBox
0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 10
20.03.2019, 18:42  [ТС]
Код ошибки: 0 (как я понял). А это значит нет ошибки и он просто не хочет открывать диспетчер задач
на всякий случай весь код приведу
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
#include "stdafx.h"
#include "windows.h"
#include <stdio.h>
#include <iostream>
 
// Идентификаторы окон
#define ID_FIRSTCHILD   100
#define ID_SECONDCHILD  101
#define ID_THIRDCHILD   102
 
using namespace std;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
TCHAR mainMessage[] = L"Какой то-текст!"; // строка с сообщением
 
 
HINSTANCE hinst;
 
int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
{
    HWND hwnd;
    MSG msg;
    TCHAR szClassName[] = L"Мой класс"; // строка с именем класса
    hinst = hInstance;
    WNDCLASSEX wc; // создаём экземпляр, для обращения к членам класса WNDCLASSEX
    wc.cbSize = sizeof(wc); // размер структуры (в байтах)
    wc.style = CS_HREDRAW | CS_VREDRAW; // стиль класса окошка
    wc.lpfnWndProc = WndProc; // указатель на пользовательскую функцию
    wc.lpszMenuName = NULL; // указатель на имя меню (у нас его нет)
    wc.lpszClassName = szClassName; // указатель на имя класса
    wc.cbWndExtra = NULL; // число освобождаемых байтов в конце структуры
    wc.cbClsExtra = NULL; // число освобождаемых байтов при создании экземпляра приложения
    wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); // декриптор пиктограммы
    wc.hIconSm = LoadIcon(NULL, IDI_WINLOGO); // дескриптор маленькой пиктограммы (в трэе)
    wc.hCursor = LoadCursor(NULL, IDC_ARROW); // дескриптор курсора
    wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // дескриптор кисти для закраски фона окна
    wc.hInstance = hInstance; // указатель на строку, содержащую имя меню, применяемого для класса
    if (!RegisterClassEx(&wc)) {
        // в случае отсутствия регистрации класса:
        MessageBox(NULL, L"Не получилось зарегистрировать класс!", L"Ошибка", MB_OK);
        return NULL; // возвращаем, следовательно, выходим из WinMain
    }
    hwnd = CreateWindow(szClassName, // имя класса
        L"Second", // имя окошка (то что сверху)
        WS_OVERLAPPEDWINDOW | WS_VSCROLL, // режимы отображения окошка
        200, // позиция окошка по оси х
        30, // позиция окошка по оси у (раз дефолт в х, то писать не нужно)
        600, // ширина окошка
        500, // высота окошка (раз дефолт в ширине, то писать не нужно)
        (HWND)NULL, // дескриптор родительского окна
        NULL, // дескриптор меню  
        HINSTANCE(hInstance), // дескриптор экземпляра приложения
        NULL); // ничего не передаём из WndProc);
    if (!hwnd) {
        // в случае некорректного создания окошка (неверные параметры и тп):
        MessageBox(NULL, L"Не получилось создать окно!", L"Ошибка", MB_OK);
        return NULL;
    }
    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
    switch (Message)
    {
    case WM_LBUTTONDOWN:
        //OpenFile("cmd.txt", NULL, OF_READ);
 
        //_lopen("cmd.exe", GENERIC_READ);
 
 
        //UINT Andrew;
        //Andrew = WinExec("C:\\Windows\\System32\\taskmgr.exe", SW_SHOW);
        //if (Andrew == ERROR_PATH_NOT_FOUND) //ERROR_FILE_NOT_FOUND //ERROR_PATH_NOT_FOUND //ERROR_BAD_FORMAT
        //{
        //  MessageBox(hwnd, L"Формат exe файла неверен", L"Error", MB_OK);
        //}
 
 
        //ShellExecuteW(hwnd, "open", "cmd.exe", NULL, NULL, SW_SHOWNORMAL);
 
        HANDLE FileHandle;
        FileHandle = CreateFile(TEXT("C:\\Windows\\System32\\taskmgr.exe"), GENERIC_READ,          // открываем для чтения
            FILE_SHARE_READ,       // для совместного чтения
            NULL,                  // защита по умолчанию
            OPEN_EXISTING,         // только существующий файл
            FILE_ATTRIBUTE_SYSTEM, // обычный файл
            NULL);
        GetLastError();
        if (FileHandle == INVALID_HANDLE_VALUE)
        {
            MessageBox(hwnd, L"LOX", L"Error", MB_OK);
            
            return 0;
        }
        CloseHandle(FileHandle);
        break;
        break;
    case WM_USER + 1:
        MessageBox(NULL, L"Прошло", L"Info", MB_OK);
        break;
    case WM_DESTROY:
        PostQuitMessage(NULL);
        break;
    default:
        return DefWindowProc(hwnd, Message, wparam, lparam);
    }
    return NULL;
}
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2019, 18:49
У меня открывает
0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 10
20.03.2019, 19:27  [ТС]
лол)) Диспетчер задач открывает?

Добавлено через 33 минуты
А почему у меня не открывает и у моих друзей, есть варианты?)
0
33 / 26 / 7
Регистрация: 06.03.2019
Сообщений: 76
20.03.2019, 19:54
Да запарились вы. Нужно не ждать пока кто-то ответит, а опустить взгляд ниже и посмотреть что выдал помощник прикрепленные / похожие Темы, например там см:
Как с использованием c++ вызвать диспетчер задач Windows?

Вам нужно Отрыть не как файл, а как процесс- CreateProcess()
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
20.03.2019, 20:22
Цитата Сообщение от ahtak Посмотреть сообщение
Вам нужно Отрыть не как файл, а как процесс- CreateProcess()
хендл процесса и хендл файла как бы не одно и тоже.
ТС хочет открыть файл и получит его хендл для дальнейшей работы. Причём тут запуск файла на исполнение?
1
33 / 26 / 7
Регистрация: 06.03.2019
Сообщений: 76
20.03.2019, 20:24
Цитата Сообщение от _lunar_ Посмотреть сообщение
Причём тут запуск файла на исполнение
из примера автора
Цитата Сообщение от MAtienko Посмотреть сообщение
//UINT Andrew; //Andrew = WinExec("C:\\Windows\\System32\\taskmgr. exe", SW_SHOW); //if (Andrew == ERROR_PATH_NOT_FOUND) //ERROR_FILE_NOT_FOUND //ERROR_PATH_NOT_FOUND //ERROR_BAD_FORMAT //{ // MessageBox(hwnd, L"Формат exe файла неверен", L"Error", MB_OK); //}
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
20.03.2019, 20:32
Цитата Сообщение от ahtak Посмотреть сообщение
из примера автора
и что? у него там и ShellExecute есть.
может ему заголовок РЕ нужен, а не работающий диспетчер задач.

в общем без конкретики от ТС'а не будет никакого движения.

PS: код (без всяких админских прав)
C++
1
2
3
4
5
6
7
8
9
10
11
HANDLE hFile = CreateFile(
    "C:\\Windows\\System32\\taskmgr.exe",
    GENERIC_READ,
    FILE_SHARE_READ,
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_SYSTEM,
    NULL
);
 
CloseHandle(hFile);
прекрасно получает хендл файла.
на компе: win10 и учетка админская.
1
20.03.2019, 20:38

Не по теме:

Цитата Сообщение от _lunar_ Посмотреть сообщение
и что?
да ничё, офтоп

0
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 10
01.04.2019, 22:05  [ТС]
Кароч, все заработало - надо было просто Visual Studio от имени администратора запустить)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2019, 22:05
Помогаю со студенческими работами здесь

Диалоговое окно и диспетчер задач
При создании диалогового окна командами MessageBox/DialogBox/CreateDialog - окна отображаются, но не видны ни в диспетчере задач, ни на...

Диспетчер задач через dll
#include &lt;windows.h&gt; #include &lt;tlhelp32.h&gt; #include &lt;iostream&gt; # include&lt;conio.h&gt; void GetServiceList(char *guf,FILE*&amp;tp); ...

Как с использованием c++ вызвать диспетчер задач Windows?
Приветствую. Как можно вызвать диспетчер задач? Гугл уже не помогает .Есть ли мануалы по вызову разных системных окон? Диспетчер Задач,...

Подскажите, как скрыть окно приложения из Диспетчер задач -> Приложения?
Чтобы его скрыть из панели задач делаю так HWND wnd = Form2-&gt;Handle; ShowWindow(wnd, SW_HIDE); SetWindowLong(wnd, GWL_EXSTYLE,...

Написать диспетчер задач
Доброго времени суток форумчане. Помогите с чего начать или может есть ресурс с похожей темой. Дали задание (курсовой) по системному...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru