Hi when i compile my code i have that error my problem on 2 lines that included : if ( !processName.compare(processInfo.szExeFile) ) also i use multiply-byte character but i don't know why have same problem?
my error is:
int std::basic_string<_Elem,_Traits,_Ax>::compare(const std::basic_string<_Elem,_Traits,_Ax> &) const' : cannot convert parameter 1 from 'CHAR [260]' to 'const std::basic_string<_Elem,_Traits,_Ax> &' and my code:
#include<fstream> #include<sstream> #include<string> #include<iostream> #include<iomanip> #include<cstdlib> #include<Windows.h> #include<TlHelp32.h> using std::ifstream; using std::string; using std::getline; using std::ios; using std::cerr; using std::cout; using std::endl; using std::fixed; using std::left; using std::right; using std::showpoint; using std::cin; class check { public : void check_seta () { ifstream cfgm2("fix.cfg",ios::in); string cfgLine; while (getline(cfgm2,cfgLine)) { if (string::npos != cfgLine.find("pn ff")){ if (cfgLine.at(19) == '0'){ MessageBoxW(NULL , L"naananaana",NULL,MB_ICONERROR); std::wstring Processname(L"lol.exe"); DWORD ProcessId = FindProcessId(Processname); HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, TRUE ,ProcessId); TerminateProcess(pHandle,0); CloseHandle(pHandle); } break; } } } DWORD FindProcessId(const std::wstring& processName) { PROCESSENTRY32 processInfo; processInfo.dwSize = sizeof(processInfo); HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); if ( processesSnapshot == INVALID_HANDLE_VALUE ) return 0; Process32First(processesSnapshot, &processInfo); // I have problem in this line if ( !processName.compare(processInfo.szExeFile) ) { CloseHandle(processesSnapshot); return processInfo.th32ProcessID; } while ( Process32Next(processesSnapshot, &processInfo) ) { // and I have problem with this line if ( !processName.compare(processInfo.szExeFile) ) { CloseHandle(processesSnapshot); return processInfo.th32ProcessID; } } CloseHandle(processesSnapshot); return 0; } };