Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо автору темы за программу.

Преведенное в ней решение позволило избавиться от мигающих черных окошек при запуске планировщиком программ со свернутым окном.

Так как не "пользую" Дельфи, предлагаю аналогичную программу на VC++.
Код: Выделить весь код
#include "stdafx.h"
#include <atlstr.h>
#include <shellapi.h>

#define SPACECHAR   _T(' ')
#define DQUOTECHAR  _T('\"')

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    // пропускается первый токен в командной строке - имя запускаемой программы (с проверкой на двойные кавычки)
    LPTSTR pCommandLine = lpCmdLine;
    BOOL bDoubleQuote = FALSE;
    while (*pCommandLine > SPACECHAR || (*pCommandLine && bDoubleQuote))
    {    
        if (*pCommandLine == DQUOTECHAR) bDoubleQuote = !bDoubleQuote;
        ++pCommandLine;
    }

    // пропускаются незначащие символы и пробелы перед вторым токеном - параметрами запускаемой программы
    while (*pCommandLine && (*pCommandLine <= SPACECHAR))
    {
        *pCommandLine = _T('\0');    //ограничение строки имени запускаемой программы
        pCommandLine++;
    }

    //запуск программы в свернутом окне
    ShellExecute(NULL, NULL, lpCmdLine, pCommandLine, NULL, SW_SHOWMINNOACTIVE);
    
    return FALSE;
}

Отправлено: 14:41, 19-06-2013 | #29