Textractor_test/GUI/main.cpp

30 lines
1.0 KiB
C++
Raw Normal View History

2018-07-22 06:40:16 +08:00
#include "mainwindow.h"
2018-09-02 03:31:18 +08:00
#include <sstream>
2018-07-22 06:40:16 +08:00
#include <QApplication>
2018-09-02 02:57:25 +08:00
LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS* exception)
{
2018-09-02 03:31:18 +08:00
std::wstringstream errorMsg;
errorMsg << std::uppercase << std::hex;
errorMsg << L"Error code: " << exception->ExceptionRecord->ExceptionCode << std::endl;
errorMsg << L"Error address: " << (DWORD)exception->ExceptionRecord->ExceptionAddress << std::endl;
MEMORY_BASIC_INFORMATION info = {};
VirtualQuery(exception->ExceptionRecord->ExceptionAddress, &info, sizeof(info));
wchar_t name[MAX_PATH] = {};
GetModuleFileNameW((HMODULE)info.AllocationBase, name, MAX_PATH);
errorMsg << L"Error in module: " << name << std::endl;
errorMsg << L"Additional info: " << exception->ExceptionRecord->ExceptionInformation[1];
MessageBoxW(NULL, errorMsg.str().c_str(), L"NextHooker ERROR", MB_ICONERROR);
2018-09-02 02:57:25 +08:00
return EXCEPTION_CONTINUE_SEARCH;
}
2018-07-22 06:40:16 +08:00
int main(int argc, char *argv[])
{
2018-09-02 03:49:16 +08:00
SetUnhandledExceptionFilter(ExceptionHandler);
2018-08-23 00:44:16 +08:00
QApplication a(argc, argv);
MainWindow w;
w.show();
2018-07-22 06:40:16 +08:00
2018-08-23 00:44:53 +08:00
return a.exec();
2018-07-22 06:40:16 +08:00
}