Duracell Asked:2020-04-08 00:19:09 +0800 CST2020-04-08 00:19:09 +0800 CST 2020-04-08 00:19:09 +0800 CST 申请类型检查 772 如何检查应用程序是控制台应用程序还是窗口应用程序?也许winapi有一些过程的描述,它的属性? c++ 2 个回答 Voted mega 2020-04-08T02:31:15+08:002020-04-08T02:31:15+08:00 在当前流程中,可以像这样检查应用是否是控制台应用: #include <Dbghelp.h> #pragma comment(lib, "Dbghelp") extern "C" const IMAGE_DOS_HEADER __ImageBase; ... bool isConsole(){ PIMAGE_NT_HEADERS nt = ImageNtHeader((void*)&__ImageBase); return nt->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_CUI; } Best Answer AnT stands with Russia 2020-04-08T03:21:02+08:002020-04-08T03:21:02+08:00 如果您使用的是 Microsoft SDK,那么从第 10 版开始,您可以[未记录或半记录]检查“你自己”要做的事情 #include <process.h> ... _crt_app_type type = _query_app_type(); 带有返回值_crt_console_app和_crt_gui_app。 早期版本的 SDK 中存在类似功能,但界面有所不同。
在当前流程中,可以像这样检查应用是否是控制台应用:
如果您使用的是 Microsoft SDK,那么从第 10 版开始,您可以[未记录或半记录]检查“你自己”要做的事情
带有返回值
_crt_console_app
和_crt_gui_app
。早期版本的 SDK 中存在类似功能,但界面有所不同。