Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.04.2018, 18:34   #1
BernardKing
Новичок
 
Регистрация: 16.04.2018
Сообщений: 6
Репутация: 10
По умолчанию ShellExecute с параметрами

Добрый день!
Есть строковая переменная (param) с параметрами, как мне запустить CMD, используя в качестве параметров содержимое этой строки? Явная запись работает, а из переменной не получается. Заранее благодарен за ответ.
BernardKing вне форума   Ответить с цитированием
Старый 16.04.2018, 18:36   #2
BernardKing
Новичок
 
Регистрация: 16.04.2018
Сообщений: 6
Репутация: 10
По умолчанию

Да, необходимо запустить cmd с правами локального админа, посему пользуюсь ShellExecute
BernardKing вне форума   Ответить с цитированием
Старый 16.04.2018, 18:43   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,049
Репутация: 5228
По умолчанию

погуглил.

вот это не ваш случай?
Код:

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <string>
#include <cstring>
#include "windows.h"
#include <shellapi.h>
#pragma comment(lib,"shell32.lib") 
static HWND hBut; 

using namespace std;

int main()
{

	string path = "d:\\test1.exe";

	ShellExecuteA(GetDesktopWindow(), ("open"), LPCSTR(path.c_str()), NULL, NULL, SW_SHOWNORMAL);

}

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 17.04.2018, 10:25   #4
BernardKing
Новичок
 
Регистрация: 16.04.2018
Сообщений: 6
Репутация: 10
По умолчанию

Нет, мне надо открыть cmd и передать в него параметры, которые я сохранил в строковой переменной "param".
BernardKing вне форума   Ответить с цитированием
Старый 17.04.2018, 10:35   #5
BernardKing
Новичок
 
Регистрация: 16.04.2018
Сообщений: 6
Репутация: 10
По умолчанию

Вот например:

не работает...
param = "ipconfig";
ShellExecuteA(0, "runas", "cmd.exe", param.c_str(), NULL, SW_RESTORE);

работает...
ShellExecuteA(0, "runas", "cmd.exe", "/K ipconfig", NULL, SW_RESTORE);

что я делаю не так?
BernardKing вне форума   Ответить с цитированием
Старый 17.04.2018, 10:39   #6
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,500
Репутация: 3242

icq: 512-765
skype: alexp.frl
По умолчанию

Выдает-то что?
Alex11223 вне форума   Ответить с цитированием
Старый 17.04.2018, 10:49   #7
BernardKing
Новичок
 
Регистрация: 16.04.2018
Сообщений: 6
Репутация: 10
По умолчанию

Командную строку.

Разобрался, в строку "param" добавил ключ /K, заработало, как сразу не заметил не пойму.

Другая проблема в строке param содержится путь с пробелами, как его описать правильно?

param = "C:\\Program files\\Speccy\\Speccy.exe"
BernardKing вне форума   Ответить с цитированием
Старый 17.04.2018, 10:55   #8
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,049
Репутация: 5228
По умолчанию

Цитата:
Сообщение от BernardKing Посмотреть сообщение
Другая проблема в строке param содержится путь с пробелами, как его описать правильно?
попробуйте просто добавить кавычки в строку:
Код:

param = "\"C:\\Program files\\Speccy\\Speccy.exe\""

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 17.04.2018, 12:35   #9
BernardKing
Новичок
 
Регистрация: 16.04.2018
Сообщений: 6
Репутация: 10
По умолчанию

"C:\Program" не является внутренней или внешней командой ... и т.д. Не помогло.
BernardKing вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ShellExecute Артегор Общие вопросы C/C++ 16 01.06.2016 18:22
Перенос Edit в ShellExecute или переменые в ShellExecute VMG Общие вопросы Delphi 5 11.02.2014 15:12
программа с типизированными параметрами-значениями и параметрами-переменными Kira09 Паскаль 1 20.12.2010 23:23
ShellExecute SNUPY Общие вопросы Delphi 4 19.02.2008 23:59


19:18.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru