Диалоговое окно пользовательского запуска

Как мне запустить диалоговое окно «Выполнить» и заставить мое приложение вводить команду для запуска Steam?

Я хотел бы, чтобы мое приложение открывало стандартный диалог запуска Windows, предварительно заполненный вводом.

Это то, что я пробовал:

HINSTANCE result;
result = ShellExecute(NULL, "open", "rundll32.exe", "steam://connect/192.69.96.168:27023", NULL, SW_SHOWDEFAULT);

Я не очень понимаю параметры для ShellExecute и хотел бы получить некоторые пояснения.

ОБНОВЛЕНИЕ

Я думаю, что у меня получилось:

HINSTANCE result;
result = ShellExecute(                            // WinExec is obsolete.
    0,                                        // hwnd
    "open",                                   // operation/verb.
    "steam://connect/192.69.96.168:27023",    // executable.
        "",                                        // parameters.
    NULL,                                     // directory
    SW_SHOW);                                 // how to be displayed 

person Quaxton Hale    schedule 26.11.2013    source источник
comment
Пожалуйста, уточните: вы хотите запустить что-то (тогда вам не нужен диалог запуска) или открыть стандартный диалог запуска Windows, предварительно заполненный вашим вводом?   -  person Antoine    schedule 26.11.2013
comment
@ Антуан Последний. Чтобы открыть стандартное окно, запустите диалоговое окно, предварительно заполненное вводом.   -  person Quaxton Hale    schedule 26.11.2013


Ответы (1)


Посмотрите здесь , взятое из этого вопроса. Это откроет диалог запуска.

Затем, если ваш процесс имеет права администратора, вы можете вызвать SetWindowText в дескрипторе поля ввода диалогового окна, которое вы найдете с помощью FindWindowEx или аналогичного.

Я действительно думаю, что проще создать свой собственный диалог запуска, который выглядит как окно Windows и вызывает ShellExecute при нажатии «ОК».

person Antoine    schedule 26.11.2013