Как исправить ошибки
Код:
#include "pch.h"
#include "stdafx.h"
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
using namespace std;
// Forward declarations:
BOOL GetProcessList();
void printError(TCHAR* msg);
int main(void)
{
setlocale(LC_ALL, "rus");
int q = 1, i = 0, r = 0;
char IdPr[5];
GetProcessList();
cerr << endl;
while (q)
{
cout << "1-завершение процесса " << endl;
cout << "2-понижение приоретета" << endl;
cout << "0-выход" << endl;
cin >> i;
if (i < 4)
switch (i)
{
case 1:
HANDLE hProcess;
BOOL pid;
cerr << "Введите ID Процеса стобы убить" << endl << " >> ;
IdPr[0] = 0;
cin » pid;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
TerminateProcess(hProcess, NO_ERROR);
CloseHandle(hProcess);
break;
case 2:
{
HANDLE tProcess;
cout << "1-Процесс реального времени " << endl;
cout << "2-Процесс высокий " << endl;
cout << "3-Процесс выше среднего " << endl;
cout << "4-Процесс средний " << endl;
cout << "5-Процесс ниже среднего" << endl;
cout << "6-Процесс низкий" << endl;
cin >> i;
if (i < 7)
switch (i)
{
case 1:
{
cerr << "Введите ID Процеса стобы изменить приоретет до реального времени" >> ;
IdPr[0] = 0;
cin » pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, REALTIME_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 2:
{
cerr « "Введите ID Процеса стобы изменить приоретет до вышеприорететного »> ";
IdPr[0] = 0;
cin >> pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, HIGH_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 3:
{
cerr << "Введите ID Процеса стобы изменить приоретет до выше нормального" >> ";
IdPr[0] = 0;
cin >> pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, ABOVE_NORMAL_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 4:
{
cerr << "Введите ID Процеса стобы изменить приоретет до нормального" >> ;
IdPr[0] = 0;
cin >> pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, NORMAL_PRIORITY_CLASS
);
CloseHandle(tProcess);
break;
}
case 5:
{
cerr << "Введите ID Процеса стобы изменить приоретет до ниже нормального" >> ;
IdPr[0] = 0;
cin » pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, BELOW_NORMAL_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 6:
{
cerr << "Введите ID Процеса стобы изменить приоретет до ниже нормального" >>;
IdPr[0] = 0;
cin » pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, IDLE_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
break;
}
}
case 0:
cerr << "Выход" >> ;
q = 0;
system("pause");
system("cls");
break;
}
}
}
BOOL GetProcessList()
{
HANDLE hProcessSnap;
HANDLE hProcess;
PROCESSENTRY32 pe32;
DWORD dwPriorityClass;
// снимок всех процесссов в системе
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
printError(TEXT("CreateToolhelp32Snapshot of processes"));
return(FALSE);
}
// Установить размер структуры перед ее использованием
pe32.dwSize = sizeof(PROCESSENTRY32);
// Получить информацию о первом процессе,
// И выход в случае неудачи
if (!Process32First(hProcessSnap, &pe32))
{
printError(TEXT("Process32First")); // Показать причину сбоя
CloseHandle(hProcessSnap); // очистить объект снимка
return(FALSE);
}
// Пройдитесь снимок процессов, и
// вывод
//Информация о каждом процессе в свою очередь;
do
{
_tprintf(TEXT("nИмя процесса: %s"), pe32.szExeFile);
// Получить класс приоритета
dwPriorityClass = 0;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
cerr << "n ID процесса =t" << pe32.th32ProcessID;
cerr << "n ID родительского процессa =t" << pe32.th32ParentProcessID;
cerr << "n Данные приоретета =t" << pe32.pcPriClassBase;
// List the modules and threads associated with this
cerr << "n=============================================================";
Sleep(150);
} while (Process32Next(hProcessSnap, &pe32));
CloseHandle(hProcessSnap);
return(TRUE);
}
void printError(TCHAR* msg)
{
DWORD eNum;
TCHAR sysMsg[256];
TCHAR* p;
eNum = GetLastError();
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, eNum,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
sysMsg, 256, NULL);
// Trim the end of the line and terminate it with a null
p = sysMsg;
while ((*p > 31) || (*p == 9))
++p;
do { *p— = 0; } while ((p >= sysMsg) &&
((*p == '.') || (*p < 33)));
// Display the message
_tprintf(TEXT("n WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg);
}
#include "stdafx.h"
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
using namespace std;
// Forward declarations:
BOOL GetProcessList();
void printError(TCHAR* msg);
int main(void)
{
setlocale(LC_ALL, "rus");
int q = 1, i = 0, r = 0;
char IdPr[5];
GetProcessList();
cerr << endl;
while (q)
{
cout << "1-завершение процесса " << endl;
cout << "2-понижение приоретета" << endl;
cout << "0-выход" << endl;
cin >> i;
if (i < 4)
switch (i)
{
case 1:
HANDLE hProcess;
BOOL pid;
cerr << "Введите ID Процеса стобы убить" << endl << " >> ;
IdPr[0] = 0;
cin » pid;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
TerminateProcess(hProcess, NO_ERROR);
CloseHandle(hProcess);
break;
case 2:
{
HANDLE tProcess;
cout << "1-Процесс реального времени " << endl;
cout << "2-Процесс высокий " << endl;
cout << "3-Процесс выше среднего " << endl;
cout << "4-Процесс средний " << endl;
cout << "5-Процесс ниже среднего" << endl;
cout << "6-Процесс низкий" << endl;
cin >> i;
if (i < 7)
switch (i)
{
case 1:
{
cerr << "Введите ID Процеса стобы изменить приоретет до реального времени" >> ;
IdPr[0] = 0;
cin » pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, REALTIME_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 2:
{
cerr « "Введите ID Процеса стобы изменить приоретет до вышеприорететного »> ";
IdPr[0] = 0;
cin >> pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, HIGH_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 3:
{
cerr << "Введите ID Процеса стобы изменить приоретет до выше нормального" >> ";
IdPr[0] = 0;
cin >> pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, ABOVE_NORMAL_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 4:
{
cerr << "Введите ID Процеса стобы изменить приоретет до нормального" >> ;
IdPr[0] = 0;
cin >> pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, NORMAL_PRIORITY_CLASS
);
CloseHandle(tProcess);
break;
}
case 5:
{
cerr << "Введите ID Процеса стобы изменить приоретет до ниже нормального" >> ;
IdPr[0] = 0;
cin » pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, BELOW_NORMAL_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
case 6:
{
cerr << "Введите ID Процеса стобы изменить приоретет до ниже нормального" >>;
IdPr[0] = 0;
cin » pid;
tProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
SetPriorityClass(tProcess, IDLE_PRIORITY_CLASS);
CloseHandle(tProcess);
break;
}
break;
}
}
case 0:
cerr << "Выход" >> ;
q = 0;
system("pause");
system("cls");
break;
}
}
}
BOOL GetProcessList()
{
HANDLE hProcessSnap;
HANDLE hProcess;
PROCESSENTRY32 pe32;
DWORD dwPriorityClass;
// снимок всех процесссов в системе
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
printError(TEXT("CreateToolhelp32Snapshot of processes"));
return(FALSE);
}
// Установить размер структуры перед ее использованием
pe32.dwSize = sizeof(PROCESSENTRY32);
// Получить информацию о первом процессе,
// И выход в случае неудачи
if (!Process32First(hProcessSnap, &pe32))
{
printError(TEXT("Process32First")); // Показать причину сбоя
CloseHandle(hProcessSnap); // очистить объект снимка
return(FALSE);
}
// Пройдитесь снимок процессов, и
// вывод
//Информация о каждом процессе в свою очередь;
do
{
_tprintf(TEXT("nИмя процесса: %s"), pe32.szExeFile);
// Получить класс приоритета
dwPriorityClass = 0;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
cerr << "n ID процесса =t" << pe32.th32ProcessID;
cerr << "n ID родительского процессa =t" << pe32.th32ParentProcessID;
cerr << "n Данные приоретета =t" << pe32.pcPriClassBase;
// List the modules and threads associated with this
cerr << "n=============================================================";
Sleep(150);
} while (Process32Next(hProcessSnap, &pe32));
CloseHandle(hProcessSnap);
return(TRUE);
}
void printError(TCHAR* msg)
{
DWORD eNum;
TCHAR sysMsg[256];
TCHAR* p;
eNum = GetLastError();
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, eNum,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
sysMsg, 256, NULL);
// Trim the end of the line and terminate it with a null
p = sysMsg;
while ((*p > 31) || (*p == 9))
++p;
do { *p— = 0; } while ((p >= sysMsg) &&
((*p == '.') || (*p < 33)));
// Display the message
_tprintf(TEXT("n WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg);
}
P.S cin » pid; должно быть cin >> pid;
Код:
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
void printError(char* msg);
cout << "1-Завершение процесса " << endl;
cout << "2-Понижение приоретета" << endl;
cout << "0-Выход" << endl;
cerr << "Введите ID Процесса чтобы закрыть" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до реального времени"<< endl ;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до вышеприорететного" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до выше нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Выход" << endl ;
printError((char *)"CreateToolhelp32Snapshot of processes");
printError((char *)"Process32First"); // Показать причину сбоя
_tprintf((char *)"Имя процесса: %sn"), pe32.szExeFile;
cerr << "ID процесса = " << pe32.th32ProcessID <<endl;
cerr << "ID родительского процессa = " << pe32.th32ParentProcessID <<endl;
cerr << "Данные приоретета = " << pe32.pcPriClassBase <<endl;
cerr << "=============================================================" <<endl;
void printError(char* msg)
do { *p = 0; }
while ((p >= sysMsg) && ((*p == '.') || (*p < 33)));
_tprintf((char *)"WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg;
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
void printError(char* msg);
cout << "1-Завершение процесса " << endl;
cout << "2-Понижение приоретета" << endl;
cout << "0-Выход" << endl;
cerr << "Введите ID Процесса чтобы закрыть" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до реального времени"<< endl ;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до вышеприорететного" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до выше нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Выход" << endl ;
printError((char *)"CreateToolhelp32Snapshot of processes");
printError((char *)"Process32First"); // Показать причину сбоя
_tprintf((char *)"Имя процесса: %sn"), pe32.szExeFile;
cerr << "ID процесса = " << pe32.th32ProcessID <<endl;
cerr << "ID родительского процессa = " << pe32.th32ParentProcessID <<endl;
cerr << "Данные приоретета = " << pe32.pcPriClassBase <<endl;
cerr << "=============================================================" <<endl;
void printError(char* msg)
do { *p = 0; }
while ((p >= sysMsg) && ((*p == '.') || (*p < 33)));
_tprintf((char *)"WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg;
Цитата: UserNet2008
Заголовочных файлов 4. Вот строки которые надо изменить.
P.S cin » pid; должно быть cin >> pid;
Результат
P.S cin » pid; должно быть cin >> pid;
Код:
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
void printError(char* msg);
cout << "1-Завершение процесса " << endl;
cout << "2-Понижение приоретета" << endl;
cout << "0-Выход" << endl;
cerr << "Введите ID Процесса чтобы закрыть" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до реального времени"<< endl ;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до вышеприорететного" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до выше нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Выход" << endl ;
printError((char *)"CreateToolhelp32Snapshot of processes");
printError((char *)"Process32First"); // Показать причину сбоя
_tprintf((char *)"Имя процесса: %sn"), pe32.szExeFile;
cerr << "ID процесса = " << pe32.th32ProcessID <<endl;
cerr << "ID родительского процессa = " << pe32.th32ParentProcessID <<endl;
cerr << "Данные приоретета = " << pe32.pcPriClassBase <<endl;
cerr << "=============================================================" <<endl;
void printError(char* msg)
do { *p = 0; }
while ((p >= sysMsg) && ((*p == '.') || (*p < 33)));
_tprintf((char *)"WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg;
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
void printError(char* msg);
cout << "1-Завершение процесса " << endl;
cout << "2-Понижение приоретета" << endl;
cout << "0-Выход" << endl;
cerr << "Введите ID Процесса чтобы закрыть" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до реального времени"<< endl ;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до вышеприорететного" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до выше нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до нормального" << endl;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Введите ID Процесса чтобы изменить приоретет до ниже нормального" << endl;
cin >> pid;
cerr << "Выход" << endl ;
printError((char *)"CreateToolhelp32Snapshot of processes");
printError((char *)"Process32First"); // Показать причину сбоя
_tprintf((char *)"Имя процесса: %sn"), pe32.szExeFile;
cerr << "ID процесса = " << pe32.th32ProcessID <<endl;
cerr << "ID родительского процессa = " << pe32.th32ParentProcessID <<endl;
cerr << "Данные приоретета = " << pe32.pcPriClassBase <<endl;
cerr << "=============================================================" <<endl;
void printError(char* msg)
do { *p = 0; }
while ((p >= sysMsg) && ((*p == '.') || (*p < 33)));
_tprintf((char *)"WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg;
Понял, спасибо огромное