Форум программистов, компьютерный форум CyberForum.ru

Как вызвать "Выполнить..."? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 70, средняя оценка - 4.93
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 6
21.10.2008, 13:43     Как вызвать "Выполнить..."? #1
Добрый день, мне нужно программно вызывать Выполнить (он же Run), который находится в пуске. Я понимаю, что нужно использовать CreateProcess(),только я не знаю, что нужно присваивать pszApplicationName или pszCommandLine.Иными словами, где лежит нужное мне приложение? Буду очень благодарна за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2008, 13:43     Как вызвать "Выполнить..."?
Посмотрите здесь:

Visual C++ Как вызвать диалог "свойства", у файла или папки
Как из масива "а" записать данные в масив "б" но в обратном порядке C++
C++ Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd"
C++ как вызвать метод "верхнего" из вложенного класса
C++ Выполнить над файлом действия (Заменить все пробелы символом "*")
Как вызвать "Beep()" в программе? C++
Создать класс "Дата" с конструкторами, деструктором, указанными методами. Выполнить перегрузку указанных операторов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.10.2008, 13:48     Как вызвать "Выполнить..."? #2
Не-не-не. Есть функция WinExec. Ее использовать очень легко. Имя/путь к проге, cmdshow. И все.
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 6
21.10.2008, 14:01  [ТС]     Как вызвать "Выполнить..."? #3
Ну WinExec фактически тоже самое Суть проблемы как раз в том, что я не знаю имя и путь этой проги(
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.10.2008, 14:09     Как вызвать "Выполнить..."? #4
Ааа...дошло... Тебе нужно показать окно "Выполнить"? Дык можно никего не запускать. передай win+r. Оно вызовется

P. S. я с форточками не дружу, но, наверное, это не отдельное приложение, а эксплореровская фича.
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 6
21.10.2008, 14:11  [ТС]     Как вызвать "Выполнить..."? #5
о, интересно)
А как это осуществить?
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.10.2008, 14:16     Как вызвать "Выполнить..."? #6
SendMessage
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 6
21.10.2008, 14:19  [ТС]     Как вызвать "Выполнить..."? #7
спасибо. Какой код у Win?)
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.10.2008, 14:26     Как вызвать "Выполнить..."? #8
Код
	HWND h = ::FindWindow(L"Shell_TrayWnd", NULL);
	::SendMessage(h, WM_HOTKEY, 0x000001F4, 0x00520008);
Один из способов...
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 6
21.10.2008, 16:12  [ТС]     Как вызвать "Выполнить..."? #9
Спасибо огромное, выручил, иначе бы я долго тупила)
А можно как-то из моей программы по нажатию на кнопку сразу передавать строчку в Выполнить и пользователь не видел само окно Выполнить
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.10.2008, 16:17     Как вызвать "Выполнить..."? #10
Через WinExec запускай.
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 6
21.10.2008, 16:24  [ТС]     Как вызвать "Выполнить..."? #11
ну WinExec запускает только файлы, которые находятся в /Windows и /Windows/system32 , то есть даже msconfig нельзя запустить ни WinExec, ни CreateProcess.

И ещё такой вопрос: при запуске программы на машине без Visual Studio возникает ошибка: приложение не было запущено, потому что оно некорректно настроено. Из-за чего может быть такое?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2008, 17:19     Как вызвать "Выполнить..."?
Еще ссылки по теме:

C++ Как сделать execl("my", "arg", argv)?
C++ Как "наплевать" на механизм позднего связывания и вызвать любую виртуальную функцию?
Не получается вызвать конструктор "деда" C++
C++ Выполнить методом "разделяй и властвуй"
C++ Дан массив из "n" элементов.Выполнить добавление элементов "k" в конец массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.10.2008, 17:19     Как вызвать "Выполнить..."? #12
Katerina, посмотрите на форуме внимательно. Тема ошибок на компах, где не установлена среда обсуждалиьс тут тысячу раз. Сделайте MFC статической. И сделайте release билд. Все ок будет. В поиск!

Добавлено через 6 минут 20 секунд
Ну что же Вы такое говорите. С помощью этой функции можно, что угодно запустить:
Код
::WinExec("C:\\WINDOWS\\pchealth\\helpctr\\binaries\\msconfig", SW_SHOWNORMAL);
Yandex
Объявления
21.10.2008, 17:19     Как вызвать "Выполнить..."?
Ответ Создать тему
Опции темы

Текущее время: 11:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru