} else { SendMessage( mainWindow, WM_QUIT, 0, 0 );
} else { PostMessage(mainWindow, WM_QUIT, 0, 0);
	void run()	{		QMemArray<pchar> argv( 8 );		/*	 			Since Windows programs don't get passed the command name as the	 			first argument, we need to fetch it explicitly.	 		*/		static char appFileName[256];		GetModuleFileNameA( 0, appFileName, sizeof(appFileName) );		int argc = 1;		argv[0] = appFileName;		/* 			Parse the Windows command line string.  If an argument begins with a				double quote, then spaces are considered part of the argument until the				next double quote.  The argument terminates at the second quote. Note	 			that this is different from the usual Unix semantics.	 		*/		char *p = cmdLine;		char *p_end = p + strlen(p);			while ( *p && p < p_end ) 		{			while ( isspace( (uchar)*p ) )			// skip whitespace				p++;		    if (*p == '\0')				break;	 						if (*p == '"') 			{	 				p++;				if ( argc >= (int)argv.size()-1 )					argv.resize( argv.size()*2 );				argv[argc++] = p;	 				while ( (*p != '\0') && (*p != '"') ) 					p++;	 			} else {	 				if ( argc >= (int)argv.size()-1 )					argv.resize( argv.size()*2 );				argv[argc++] = p;	 				while (*p != '\0' && !isspace( (uchar)*p ) )					p++;	 			}	 			if (*p != '\0') {	 				*p = '\0';	 				p++;	 			}	 		}						argv[argc] = 0;		returnValue_ = main( argc, argv.data() );		if( returnValue_ != 0 )		{			Console::instance()->send( "\nThe server has been shut down. You can close this window now.\n" );			canClose = true;		}		else		{			SendMessage( mainWindow, WM_QUIT, 0, 0 );		}	}