Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > CreateProcess криво работает под Vista


Автор: yura 17.12.2007, 22:27
Здравствуйте

Есть такой у меня кодец, который создает процесс IE-процесс, причем созданное IE окно, должно быть Minimized. Вот код:
Код

    char sExe[_MAX_PATH];
    char sLaunch[_MAX_PATH];
    long maxpath = _MAX_PATH;

    STARTUPINFO startInfo;
    PROCESS_INFORMATION processInfo;

    long lRet = ::RegQueryValue(HKEY_CLASSES_ROOT, "http\\shell\\open\\command", sExe, &maxpath);

    wsprintf(sLaunch, "%s %s", sExe, url);

    ZeroMemory(&startInfo, sizeof(startInfo));
    ZeroMemory(&processInfo, sizeof (processInfo));

    startInfo.cb = sizeof(STARTUPINFO);
    startInfo.dwFlags = STARTF_USESHOWWINDOW;
    startInfo.wShowWindow = SW_MINIMIZE;

    BOOL bRet = ::CreateProcess(NULL, sLaunch, NULL, NULL, TRUE, NORMAL_PRIORITY_CLASS,GetEnvironmentStrings(), NULL, &startInfo, &processInfo);
    if ( bRet )
    {
        ::CloseHandle(processInfo.hThread);
        ::CloseHandle(processInfo.hProcess);
    }


В результате, код отрабатывает, создаеться нужное окно. Но - к сожалению, оно не свернуто. Т.е. аттрибут startInfo.wShowWindow, судя по всему, под Вистой, просто игнориться. Под XP этот код работает. Не подскажет ли кто-нибудь, в чем может быть проблема?

Заранее спасибо smile

Автор: 0lmer 18.12.2007, 13:06
Цитата(yura @  17.12.2007,  22:27 Найти цитируемый пост)
Не подскажет ли кто-нибудь, в чем может быть проблема?

сорри за оофтоп но по моему проблема в висте smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)