13 #pragma managed( push, off )    68             if ( 
nullptr == pszPath ) {
    79             wchar_t szBuffer[ MAX_PATH ];
    80             ::wcscpy_s( szBuffer, pszPath );
    83             if ( 
nullptr != pszArgument ) {
    85                 ::wcscat_s( szBuffer, L
" \"" );
    86                 ::wcscat_s( szBuffer, pszArgument );
    87                 ::wcscat_s( szBuffer, L
"\"" );
    91             STARTUPINFOW        sStartupInfo = {};
    92             PROCESS_INFORMATION sProcessInfo = {};
    93             if ( 0 == ::CreateProcessW( 
nullptr, szBuffer, 
nullptr, 
nullptr, 
false, CREATE_NEW_CONSOLE, 
nullptr, 
nullptr, &sStartupInfo, &sProcessInfo ) ) {
   125             m_hObject = ::OpenProcess( dwAccess, 
false, dwProcessId );
   149             if ( 0 == ::TerminateProcess( 
m_hObject, dwExitCode ) ) {
   170             if ( 0 == ::GetExitCodeProcess( 
m_hObject, &dwExitCode ) ) {
   184 #pragma managed( pop ) virtual void Close() noexcept
クローズ関数 
virtual void Close() noexcept override
クローズ関数 
virtual DWORD GetExitCode() const  noexcept
終了コード取得関数 
virtual bool Terminate(DWORD dwExitCode=0) noexcept
強制終了関数 
virtual ~CProcess() noexcept
デストラクタ 
virtual bool Open(DWORD dwProcessId, DWORD dwAccess=SYNCHRONIZE) noexcept
オープン関数 
virtual bool Release() noexcept override
リリース関数 
HANDLE m_hObject
オブジェクトハンドル 
DWORD m_dwProcessId
プロセスID 
CProcess() noexcept
コンストラクタ 
virtual bool Create(wchar_t const *pszPath, wchar_t const *pszArgument=nullptr) noexcept
作成関数