Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

проблема с пайпми

4.1K
08 ноября 2006 года
GRIENDERS
117 / / 06.06.2006
Задача - запустить regedit, например.
Код:
void CpipeMFCDlg::OnBnClickedOk()
{
    HANDLE hReadPipe1, hWritePipe1;
    SECURITY_ATTRIBUTES sa;
    sa.bInheritHandle = TRUE;
    sa.nLength = sizeof(SECURITY_ATTRIBUTES);
    sa.lpSecurityDescriptor = NULL;

    // create stdout pipe
    if (!CreatePipe(&hReadPipe1, &hWritePipe1, &sa, sizeof(sa))) return ;
    // create stdin pipe
    HANDLE hReadPipe2, hWritePipe2;
    if (!CreatePipe(&hReadPipe2, &hWritePipe2, &sa, sizeof(sa))) return ;
   
    // Fill the struct STARTUPINFO
    STARTUPINFO si;
    GetStartupInfo(&si);

    si.cb = sizeof(STARTUPINFO);
    si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES ;
    si.wShowWindow = SW_SHOWNORMAL;
    si.hStdError = hWritePipe1;
    si.hStdInput = hReadPipe2;
    si.hStdOutput = hWritePipe1;
    si.lpTitle = "CMD";

    // create process
    PROCESS_INFORMATION pi;
    if      (!CreateProcess("c:\\WINDOWS\\system32\\cmd.exe",NULL,NULL,NULL, TRUE, CREATE_NEW_CONSOLE,
        NULL,NULL,&si, &pi)) return ;
      DWORD w;
    if (!WriteFile(hWritePipe2,"regedit",7,&w,0)) return;
   
    }
}

Но ничего почему не происходит.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог