mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
tools: idf_exe: add Ctrl+C processing
This commit is contained in:
parent
af992c26bc
commit
976cb8fd61
@ -32,6 +32,17 @@ static void fail(LPCSTR message, ...)
|
||||
ExitProcess(1);
|
||||
}
|
||||
|
||||
BOOL WINAPI CtrlHandler(DWORD fdwCtrlType)
|
||||
{
|
||||
switch (fdwCtrlType) {
|
||||
// Handle the CTRL-C signal.
|
||||
case CTRL_C_EVENT:
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, LPTSTR argv[])
|
||||
{
|
||||
/* Print the version of this wrapper tool, but only if invoked as "idf.exe".
|
||||
@ -42,8 +53,8 @@ int main(int argc, LPTSTR argv[])
|
||||
int cmdname_length = strlen(cmdname);
|
||||
|
||||
if (argc == 2 &&
|
||||
cmdname_length > 4 &&
|
||||
StrCmp(cmdname + cmdname_length - 4, TEXT(".exe")) == 0 &&
|
||||
cmdname_length > 4 &&
|
||||
StrCmp(cmdname + cmdname_length - 4, TEXT(".exe")) == 0 &&
|
||||
(StrCmp(argv[1], TEXT("--version")) == 0 ||
|
||||
StrCmp(argv[1], TEXT("-v")) == 0)) {
|
||||
LPCSTR msg = VERSION "\n";
|
||||
@ -79,6 +90,9 @@ int main(int argc, LPTSTR argv[])
|
||||
|
||||
SetEnvironmentVariable(TEXT("IDF_PY_PROGRAM_NAME"), idfpy_script_name);
|
||||
|
||||
// Add processing for Ctrl+C
|
||||
SetConsoleCtrlHandler(CtrlHandler, TRUE);
|
||||
|
||||
/* Reuse the standard streams of this process */
|
||||
STARTUPINFO start_info = {
|
||||
.cb = sizeof(STARTUPINFO),
|
||||
|
Loading…
x
Reference in New Issue
Block a user