#ifndef _COMMON_STARTUPINFO_HPP_ #define _COMMON_STARTUPINFO_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_RECTANGLE_HPP_ #include #endif class StartupInfo : private STARTUPINFO { public: StartupInfo(void); virtual ~StartupInfo(); String strDesktop(void)const; String strTitle(void)const; Rect initRect(void)const; DWORD xCountChars(void)const; DWORD yCountChars(void)const; DWORD fillAttribute(void)const; DWORD flags(void)const; WORD showWindow(void)const; HANDLE stdInput(void)const; HANDLE stdOutput(void)const; HANDLE stdError(void)const; private: StartupInfo(const StartupInfo &startupInfo); StartupInfo &operator=(const StartupInfo &startupInfo); BOOL operator==(const StartupInfo &startupInfo)const; void init(void); }; inline StartupInfo::StartupInfo(void) { init(); ::GetStartupInfo(&((STARTUPINFO&)*this)); } inline StartupInfo::StartupInfo(const StartupInfo &startupInfo) { // private implementation *this=startupInfo; } inline StartupInfo::~StartupInfo() { } inline StartupInfo &StartupInfo::operator=(const StartupInfo &/*startupInfo*/) { // private implementation return *this; } inline BOOL StartupInfo::operator==(const StartupInfo &startupInfo)const { // private implementation return FALSE; } inline String StartupInfo::strDesktop(void)const { return STARTUPINFO::lpDesktop; } inline String StartupInfo::strTitle(void)const { return STARTUPINFO::lpTitle; } inline Rect StartupInfo::initRect(void)const { return Rect(STARTUPINFO::dwX,STARTUPINFO::dwY,STARTUPINFO::dwXSize,STARTUPINFO::dwYSize); } inline DWORD StartupInfo::xCountChars(void)const { return STARTUPINFO::dwXCountChars; } inline DWORD StartupInfo::yCountChars(void)const { return STARTUPINFO::dwYCountChars; } inline DWORD StartupInfo::fillAttribute(void)const { return STARTUPINFO::dwFillAttribute; } inline DWORD StartupInfo::flags(void)const { return STARTUPINFO::dwFlags; } inline WORD StartupInfo::showWindow(void)const { return STARTUPINFO::wShowWindow; } inline HANDLE StartupInfo::stdInput(void)const { return STARTUPINFO::hStdInput; } inline HANDLE StartupInfo::stdOutput(void)const { return STARTUPINFO::hStdOutput; } inline HANDLE StartupInfo::stdError(void)const { return STARTUPINFO::hStdError; } inline void StartupInfo::init(void) { STARTUPINFO::cb=sizeof(STARTUPINFO); STARTUPINFO::lpReserved=0; STARTUPINFO::lpDesktop=0; STARTUPINFO::lpTitle=0; STARTUPINFO::dwX=0; STARTUPINFO::dwY=0; STARTUPINFO::dwXSize=0; STARTUPINFO::dwYSize=0; STARTUPINFO::dwXCountChars=0; STARTUPINFO::dwYCountChars=0; STARTUPINFO::dwFillAttribute=0; STARTUPINFO::dwFlags=0; STARTUPINFO::wShowWindow=0; STARTUPINFO::cbReserved2=0; STARTUPINFO::lpReserved2=0; STARTUPINFO::hStdInput=0; STARTUPINFO::hStdOutput=0; STARTUPINFO::hStdError=0; } #endif