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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2017, 15:41   #1
oxy-fox
Пользователь
 
Аватар для oxy-fox
 
Регистрация: 24.02.2009
Сообщений: 11
Вопрос C++/CLI, CreateProcess, Калькулятор

Задача следующая: создать процесс "блокнот" и "Калькулятор", получить дескриптор и идентификатор процесса и потока и другие параметры.
Вот кусок кода запуска процесса:
Код:
                ProceImage[1] = TEXT("C:\\Windows\\system32\\notepad.exe");
		CmdParam[1] = NULL;

		ProceImage[2] = TEXT("C:\\Windows\\system32\\notepad.exe");
		CmdParam[2] = TEXT("-o D:\\1.txt");

		ProceImage[3] = TEXT("C:\\Windows\\system32\\calc.exe");
		//ProceImage[3] = TEXT("C:\\Windows\\SysWOW64\\calc.exe");
		CmdParam[3] = NULL;

		STARTUPINFO StartUpInfo;
		PROCESS_INFORMATION ProcessInf;

		ZeroMemory(&StartUpInfo, sizeof(StartUpInfo));
		StartUpInfo.cb = sizeof(StartUpInfo);
		ZeroMemory(&ProcessInf, sizeof(ProcessInf));

		if (!CreateProcess(ProceImage[index],		
			CmdParam[index],						
			NULL,								
			NULL,									
			FALSE,									
			0,										
			NULL,									
			NULL,									
			&StartUpInfo,							
			&ProcessInf))
		{
			MessageBox::Show("Ошибка запуска процесса!", "Error", MessageBoxButtons::OK, MessageBoxIcon::Error);
		}
		else
		{
			ProcHandle[index] = ProcessInf.hProcess;
			ProcID[index] = ProcessInf.dwProcessId;
			ThreadHandle[index] = ProcessInf.hThread;
			ThreadID[index] = ProcessInf.dwThreadId;
		}
Так вот с блокнотом проблем нет, все работает. А вот с калькулятором возникли проблемы: он запускается, но никаких данных на него нет.
В диспетчере задач процесс калькулятора имеет имя "Calculator.exe", а не "calc.exe", который я запускаю, видимо отсюда и проблемы...
Помогите разобраться.
Win 10 x64, VS2017
oxy-fox вне форума Ответить с цитированием
Старый 23.11.2017, 15:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Потому что в 10ке калькулятор сделали metro приложением Гуглите про работу с ними, если надо.
p51x вне форума Ответить с цитированием
Старый 23.11.2017, 17:55   #3
oxy-fox
Пользователь
 
Аватар для oxy-fox
 
Регистрация: 24.02.2009
Сообщений: 11
По умолчанию

Спасибо за информацию)
Посмотрим, что можно нагуглить)) пока, правда, ничего не попадалось...
Думаю, проще будет, что-нибудь другое запустить... mspaint, например...
oxy-fox вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CreateProcess Акоб Общие вопросы C/C++ 7 24.03.2011 16:31
CreateProcess Yokka Общие вопросы C/C++ 0 03.06.2010 23:46
CreateProcess maziLa Win Api 1 19.05.2010 21:01
CreateProcess() damned20 Win Api 1 18.09.2009 18:38
CreateProcess, С++ MaTBeu Win Api 5 06.10.2008 22:56