PHP_WINUTIL_API BOOL php_win32_console_is_own(void)
{/*{{{*/
- CONSOLE_SCREEN_BUFFER_INFO csbi;
+ if (!IsDebuggerPresent()) {
+ CONSOLE_SCREEN_BUFFER_INFO csbi;
+ DWORD pl[1];
+ BOOL ret0 = FALSE, ret1 = FALSE;
- if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi) && !IsDebuggerPresent()) {
- return !csbi.dwCursorPosition.X && !csbi.dwCursorPosition.Y;
+ if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi)) {
+ ret0 = !csbi.dwCursorPosition.X && !csbi.dwCursorPosition.Y;
+ }
+
+ ret1 = GetConsoleProcessList(pl, 1) == 1;
+
+ return ret0 && ret1;
}
return FALSE;