С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 70, средняя оценка - 4.93
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 8
#1

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

21.10.2008, 13:43. Просмотров 8485. Ответов 11
Метки нет (Все метки)

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

Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd" - C++
вот код, нужно найти 3 минимальных положительных числа в массиве. При размере массива больше 950 в конце заполнения рандомным способом...

Найти в строке последовательность символов ("abcd") и заменить ее другой ("xyz") - C++
Найти в строке последовательность символов ("abcd") и заменить ее другой ("xyz").

О "нестабильности" или "переполнении" цикла foreach - C++
Здравствуйте, коллеги. Недавно коллега-программист сообщил мне страшную вещь: оказывается, что цикл foreach может переполниться при...

Ошибка: invalid conversion from "int" to "SDL_RendererFlip" - C++
Скриншот приложен, Вот страница, откуда я брал этот код Подскажите что делать

CString buff = "aaa" + "bbb" - C++
Хочется одним оператором конкатенировать несколько подстрок CString buff = "aaa" + "bbb" компилятор выдает error C2110: cannot add two...

Qt Creator. Все "за" и "против" - C++
Доброго времени суток, форумчане! Сегодня задался вопросом использования такой IDE, как Qt Creator. Суть темы заключается в том, что я...

11
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
21.10.2008, 13:48 #2
Не-не-не. Есть функция WinExec. Ее использовать очень легко. Имя/путь к проге, cmdshow. И все.
0
Katerina
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 8
21.10.2008, 14:01  [ТС] #3
Ну WinExec фактически тоже самое Суть проблемы как раз в том, что я не знаю имя и путь этой проги(
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
21.10.2008, 14:09 #4
Ааа...дошло... Тебе нужно показать окно "Выполнить"? Дык можно никего не запускать. передай win+r. Оно вызовется

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

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

Добавлено через 6 минут 20 секунд
Ну что же Вы такое говорите. С помощью этой функции можно, что угодно запустить:
Код
::WinExec("C:\\WINDOWS\\pchealth\\helpctr\\binaries\\msconfig", SW_SHOWNORMAL);
0
21.10.2008, 17:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2008, 17:19
Привет! Вот еще темы с ответами:

Как и на чем написать и скомпилировать программу, чтоб загружалась через bootmgr и выводить "hello world"? - C++
Ну что-то типа совсем простой ОС, если это можно так назвать.

Ответы к упражнениям из книги Сэджвика "Фундаментальные алгоритмы на С++" части 1-4 - C++
Привет! Читаю данную книгу, в конце каждой главы имеются упражнения, но нет ответов на них. На решение некоторых задач просто нехватает...

Ординарная Сеть Петри для задачи об "обедающих философах" - C++
Помогите с сетью Петри. дуб в этом Задача об обедающих философах. Пять философов отдыхают в пансионате. Каждый из философов может...

Warning LNK4248: неразрешенная лексема TypeRef для "GLUquadric" - C++
Добрый день господа эксперты! Помогите с таким вопросом компилятор выдает: frmMain.obj : warning LNK4248: неразрешенная лексема...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.