Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2013, 12:16   #1
Romowski
Пользователь
 
Регистрация: 02.04.2012
Сообщений: 49
По умолчанию Запуск стороннего приложения с параметрами

Доброго времени суток!!!

Нужна помощь или совет ))

Есть проект и консольное приложение, которое необходимо запускать с определенными параметрами и проекта.

этот код работает:

Код:
PROCESS_INFORMATION		ePI={0};
	STARTUPINFO				rSI={0};
	rSI.cb =				sizeof(rSI);
	rSI.dwFlags =			STARTF_USESHOWWINDOW;
	rSI.wShowWindow =		SW_SHOWNORMAL;

if (CreateProcess(L"DKFinder\\DKFinder.exe",  L" 2012-12-01T00:00:01 2013-01-01T23:59:59 1 Привет user", NULL, NULL, TRUE, 0, NULL, NULL, &rSI, &ePI))
{
}
Но вместо
Цитата:
L" 2012-12-01T00:00:01 2013-01-01T23:59:59 1 Привет user"
мне необходимо передавать значение переменной ParamStr и ТУТ НАЧИНАЮТСЯ ПРОБЛЕМЫ.

Формирование строки:
Код:
wxString user_id = g_common.m_currentUser;		
	wxString ParamStr = " ";	
	wxString m_b = m_begin.FormatDate(); 
        ParamStr += m_b; 
        ParamStr += "T00:00:01 ";
	wxString m_e = m_end.FormatDate(); 
        ParamStr += m_e; 
        ParamStr += "T23:59:59 ";
	if (m_rb_search_type->GetSelection() == 0) {
		ParamStr += "1 ";
	}
	else
		if (m_rb_search_type->GetSelection() == 1) {
			ParamStr += "2 ";
		}
		else
			if (m_rb_search_type->GetSelection() == 2) {
				ParamStr += "3 ";
			}
	wxString m_sv = m_ed_search_value->GetValue();
	ParamStr += m_sv; ParamStr += " ";
	ParamStr += user_id;
В общем, помогите преобразовать wxString в LPTSTR или сформировать строку параметров изначально в формате LPTSTR
Romowski вне форума Ответить с цитированием
Старый 08.01.2013, 13:26   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

wxString str = wxT("Hello world");
LPTSTR ptr = (wxChar*) (const wxChar*) str;

Только имейте ввиду, что CreateProcess может изменить строку, т.е. str будет потом "недействителен"
waleri вне форума Ответить с цитированием
Старый 08.01.2013, 13:49   #3
Romowski
Пользователь
 
Регистрация: 02.04.2012
Сообщений: 49
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
wxString str = wxT("Hello world");
LPTSTR ptr = (wxChar*) (const wxChar*) str;

Только имейте ввиду, что CreateProcess может изменить строку, т.е. str будет потом "недействителен"
Спасибо ) но уже сделал так:

Код:
wxString ParamStr;
...
const wchar_t* wxCh = ParamStr.wc_str();
LPWSTR s = (LPWSTR) wxCh;
Romowski вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытый запуск стороннего приложения _ZixeL_ Общие вопросы Delphi 8 19.11.2012 20:22
Запуск приложения с параметрами !!! badfilin Общие вопросы C/C++ 6 27.05.2010 23:29
Запуск стороннего файла CraftR14 Общие вопросы Delphi 8 17.04.2010 18:05
Защита стороннего приложения Mifody Общие вопросы Delphi 1 25.03.2010 13:19
Запуск приложения с параметрами Arhangel_bes Помощь студентам 14 12.02.2009 21:35