Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.99/132: Рейтинг темы: голосов - 132, средняя оценка - 4.99
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4

Как правильно запустить программу/процесс/приложение через CreateProcess()? Покажите пример

04.03.2021, 22:45. Показов 27719. Ответов 73
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу так
C++
1
2
3
4
5
6
7
8
#define N NULL
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si,sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi,sizeof(pi));
CreateProcess("C:\\Users\\123\\Desktop\\Названиевидеоролика.mp4",N,N,N,0,0,N,N,&si,&pi);//это только пример позже выяснил 
 // что строку не принимает
Даже толком не понятно какие параметры нужно писать.
Покажите свой пример а не копипаст из справки. Про дочерние процессы тоже не понял спрашиваю здесь Покажите пример дочерних и унаследованных процессов, но я смотрю у меня даже базовый обычный процесс не запускается.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2021, 22:45
Ответы с готовыми решениями:

Как запустить консольное приложение через CreateProcess и спрятать его окно?
Т.е. как запустить досовский exe-шник через CreateProcess и чтобы его окна не было видно?

Как запустить программу через CreateProcess со стилем по умолчанию?
Добрый вечер ! Подскажите, пожалуйста, данный код запускает калькулятор Windows. Внешний его вид выглядит как-то ущербно. ...

Покажите пример как реализовать новости через RSS
Здравствуйте. Покажите пример как реализовать новости через RSS. То есть уже есть любой внешний новостной портал, я хочу чтобы просто на...

73
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
07.09.2022, 22:06  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ft4l Посмотреть сообщение
В батнике этот путь получается из пути к батнику
покажите как в батнике это написано что путь получается из позиции где лежит батник?
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
07.09.2022, 23:07
Цитата Сообщение от Nexi99 Посмотреть сообщение
Windows Batch file
6
7
SET pathToFirefox=%~dp0..\App\Firefox\
SET pathToProfile=%~dp0..\Data\profile
%~dp0 преобразуется в полный путь к каталогу с батником
... к директории видимо ,) т.к есть завешающий слеш
%~d0 - буква диска
%~p0 - путь
%0 - батник с полным путём

Другие варианты можно посмотреть например если выполнить команду
Windows Batch file
1
for /?
Добавлено через 46 минут

Не по теме:

Цитата Сообщение от ft4l Посмотреть сообщение
%0 - батник с полным путём
с полным путём если просто кликнуть по нему .
Если запуситить с например консоли с относительным пуём то так и будет
... как из LPTSTR GetCommandLine(VOID) вырезается :)
причём если будет в кавычках то %0 тоже с кавычками

0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
08.09.2022, 01:36  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
profile
есть там такая папка находится по пути C:\MultiBot\my_Bots\home\home-2\Data\profile,
Есть также и этот путь
Цитата Сообщение от ft4l Посмотреть сообщение
\App\Firefox\
C:\MultiBot\my_Bots\home\home-2\App\Firefox
Зачем столько данных извлекать если просто нужно этот файл "file:///C:/MultiBot/my_Bots/home/home-2/main_File/loader.html?m=run.js" передать в "C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe".
Человек не может нормально написать что получается в этой строке START /min %pathToFirefox%%processName% -no-remote -profile %pathToProfile% %work_script%. Какая там формируется команда учитывая что копируются какие-то пути, и во что единое они соединяются? И всё же не понятно что такое -no-remote и имеет ли отношение -profile к строке SET pathToProfile=%~dp0..\Data\profile.
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
08.09.2022, 11:33
Цитата Сообщение от Nexi99 Посмотреть сообщение
START /min %pathToFirefox%%processName% -no-remote -profile %pathToProfile% %work_script%.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@ECHO OFF
if "%1_"=="_" (START /MIN CMD.EXE /C %~s0 any_word & EXIT)
title home-1
setlocal enabledelayedexpansion
SET processName="home-2.exe"
SET pathToFirefox=%~dp0..\App\Firefox\
SET pathToProfile=%~dp0..\Data\profile
SET work_script=file:///%~dp0loader.html?m=run.js
taskkill.exe /F /IM %processName%
taskkill.exe /F /IM "crashreporter.exe"
START /min %pathToFirefox%%processName% -no-remote -profile %pathToProfile% %work_script%
exit
... Например батник лежит как C:\Progi\My\Ugly.bat
@ECHO OFF - Не выводить выполняемые команды
if "%1_"=="_" (START /MIN CMD.EXE /C %~s0 any_word & EXIT)
если запущен без передачи параметра... например просто кликом по файлу
запускается второе окно смд, свёрнутое. которое выполняет снова этот файл передавая парамметром строку any_word
... первое выполнение прерывается.
title home-1
setlocal enabledelayedexpansion

меняется заголовок этому свёрнутому окну и настраивается некая опция ,) выполнения команд,
без которой вроде дальнейший код даст точно такие-же результаты.

... переменным устанавливаются значения
SET processName="home-2.exe"
это понятно...
SET pathToFirefox=%~dp0..\App\Firefox\
значение C:\Progi\My\..\App\Firefox\ ... как-бы то-же что и C:\Progi\App\Firefox\
SET pathToProfile=%~dp0..\Data\profile
значение C:\Progi\My\..\Data\profile
SET work_script=file:///%~dp0loader.html?m=run.js
значение file:///C:\Progi\My\loader.html?m=run.js ... слеши разные, как я говорил

taskkill.exe /F /IM %processName%
taskkill.exe /F /IM "crashreporter.exe"

попытка убить два процесса ... возможно ранее запущеный "home-2.exe" и окно ошибки выполнения чего-либо

START /min %pathToFirefox%%processName% -no-remote -profile %pathToProfile% %work_script%
значение
START /min C:\Progi\My\..\App\Firefox"home-2.exe" -no-remote -profile C:\Progi\My\..\Data\profile file:///C:\Progi\My\loader.html?m=run.js

Как-бы это не лучший образчик продуманного написания красивой программы.
Кавычки не туда... всё свёрнутым зачем-то запускается

Да я запускал браузеры... но как понять что за home-2.exe там запускается
... с параметрами как у FF , и из папки как у FF
Этот неизвестный мне home-2.exe я никогда не видел
он может делать с параметрами всёчто хотел его автор
... где-то на дисках у меня FF-91-ESR ... но home-2.exe там в его папке нет
1
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
08.09.2022, 22:02  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
file:///C:\Progi\My\loader.html?m=run.js
А из этого модуля может тоже какой путь нужно извлечь для CreateProcess?
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
09.09.2022, 09:34
Windows Batch file
1
2
3
4
  
@ECHO OFF
"C:\MultiBot\my_Bots\home\home-2\home-2.exe"  "C:\MultiBot\my_Bots\home\\home-2\main_File\loader.html?m=run.js"
PAUSE
Для начала надо убедиться в том, что это вообще работает.
1
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
09.09.2022, 23:05  [ТС]
Цитата Сообщение от YUEN HOIFEF Посмотреть сообщение
Для начала надо убедиться в том, что это вообще работает.
Так выглядит полная строка из кода батника?

Добавлено через 35 секунд
Цитата Сообщение от YUEN HOIFEF Посмотреть сообщение
home\\home-2
почему здесь 2 слэша а в остальных случаях 1?

Добавлено через 1 час 24 минуты
В общем ребята через CreateProcess, не запустишь такое дело, т.к. файл run.js требует запуска батника, в моём случае не прокатывает.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
10.09.2022, 15:40
Nexi99, батник, предложенный YUEN HOIFEF,
Как правильно запустить программу/процесс/приложение через CreateProcess()? Покажите пример
позволяет запустить то, что Вам нужно, так, как Вам нужно?

Цитата Сообщение от Nexi99 Посмотреть сообщение
почему здесь 2 слэша а в остальных случаях 1?
Повторные разделители в середине пути Win32 обычно игнорирует:
Windows Batch file
1
c:\\windows///System32/\write.exe
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
10.09.2022, 23:11  [ТС]
Цитата Сообщение от politoto Посмотреть сообщение
батник, предложенный YUEN HOIFEF,
значит в такую строку складывается код, почему-то CreateProcess не хочет принимать такую команду, хотя сам файл run.js открывает во вкладке браузера home-2.exe. Там открывается скрипт run.js, но запуска макроса нет.
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
11.09.2022, 02:02
Цитата Сообщение от politoto Посмотреть сообщение
c:\\windows///System32/\write.exe
В эмуляторах терминала всяких бывают проблемы
mintty 2.4.2 (i686-ps-msys)
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
zzz@zz MINGW32 /g/CMP
$ cat <<\x | gcc -x c -o test.exe -
#include <windows.h>
TCHAR tBuf[MAX_PATH+1];
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdL, int nShowC) {
   GetFullPathName(lpCmdL, MAX_PATH, tBuf,  NULL);
   MessageBox(0,tBuf,lpCmdL,0);
    return 0;
}
x
 
zzz@zz MINGW32 /g/CMP
$ ./test.exe c:\\windows///System32/\write.exe
и cmd.exe
Windows Batch file
1
2
<--- G:\CMP --->
  test.exe c:\\windows///System32/\write.exe

... сама командная строка в заголовках.
эти эмуляторы не любят эти обратные слеши в путяхт ... виндовс чаще нормально любые...
home2-exe неизвестно )) ... и, как в начале я заметил, были такие браузеры,
которые ничего не понимали кроме file:///c:/...

это home-2.exe может и к порту какому-нибудь биндиться и браузер запускать
для загрузки как с сервера... заголовки чтобы какие-то добавить.
... то ли вредоносы какие, то ли для консперации используется .)
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
11.09.2022, 02:48  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
это home-2.exe может и к порту какому-нибудь биндиться и браузер запускать
для загрузки как с сервера... заголовки чтобы какие-то добавить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
@ECHO OFF
if "%1_"=="_" (START /MIN CMD.EXE /C %~s0 any_word & EXIT)
title home-1
setlocal enabledelayedexpansion
SET processName="home-2.exe"
SET pathToFirefox=%~dp0..\App\Firefox\
SET pathToProfile=%~dp0..\Data\profile
SET work_script=file:///%~dp0loader.html?m=run.js
taskkill.exe /F /IM %processName%
taskkill.exe /F /IM "crashreporter.exe"
START /min %pathToFirefox%%processName% -no-remote -profile %pathToProfile% %work_script%
exit
А как вывести значения переменных pathToFirefox,pathToProfile,work_script в консоль на языке bat(кто-то говорил что это Pascal). И по прежнему не понятно что такое -no-remote -profile?

Добавлено через 11 минут
run.js накходится по пути C:\MultiBot\my_Bots\home\home-2\Data\profile\iMacros\Macros, в ТГ человек написал что чтение скрипта происходит.
Что касаемо процесса home-2.exeто у него 2 пути:1ый-C:\MultiBot\my_Bots\home\home-2\App\Firefox\home-2.exe но если от туда запустить браузер обнавляется и не работает а вот движок браузера как раз там и описан, 2ой- C:\MultiBot\my_Bots\home\home-2\home-2.exe-отсюда идёт запуск а работа идёт из 1го пути. Также сам макрос запускается loader.html-запускается отсюда C:\MultiBot\my_Bots\home\home-2\main_File\loader.html. В конечном итоге получает такую кашу что у процесса 2 пути 1из которого идёт запуск, 2ой тот где описан движок ну и нужно задействовать 2 файла run.js и loader.html. И не совсем понятно что делает -no-remote -profile. Вывести бы это всё в консоль и посмотреть значения строк и команд.
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
11.09.2022, 16:38  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
это home-2.exe может и к порту какому-нибудь биндиться и браузер запускать
Я записал такую команду
C++
1
2
3
4
5
6
7
8
9
echo ON
title home-2
setlocal enabledelayedexpansion
SET processName="home-2.exe"
SET pathToFirefox=%~dp0..\App\Firefox\
SET pathToProfile=%~dp0..\Data\profile
SET work_script=file:///%~dp0loader.html?m=run.js
echo %pathToFirefox%%processName% -no-remote -profile %pathToProfile% %work_script%
pause
Вывод получил такой
C:\MultiBot\my_Bots\home\home-2\main_File\..\App\Firefox"home-2.exe" -no-remote -profile C:\MultiBot\my_Bots\home\home-2\main_File\..\Data\profile file:///C:\MultiBot\my_Bots\home\home-2\main_File\loader.html?m=run.js
C:\MultiBot\my_Bots\home\home-2\main_File\..\App\Firefox"home-2.exe" -no-remote -profile C:\MultiBot\my_Bots\home\home-2\main_File\..\Data\profile file:///C:\MultiBot\my_Bots\home\home-2\main_File\loader.html?m=run.js
Как такую команду сунуть в CreateProcess.
Миниатюры
Как правильно запустить программу/процесс/приложение через CreateProcess()? Покажите пример  
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
11.09.2022, 17:24  [ТС]
Лучший ответ Сообщение было отмечено politoto как решение

Решение

и может ли он такую команду принять?

Добавлено через 39 минут
В общем ребята сделал вот так.
C++
1
2
3
CreateProcessA("C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe",
"C:\\MultiBot\\my_Bots\\home\\home-2\\main_File\\..\\App\\Firefox\\\"home-2.exe\" -no-remote -profile C:\\MultiBot\\my_Bots\\home\\home-2\\main_File\\..\\Data\\profile file:///C:\\MultiBot\\my_Bots\\home\\home-2\\main_File\\loader.html?m=run.js"
,0,0,0,0,0,0,&start_info,&proc_info);
Макрос идёт в работу и он же подгружает run.js, Я не знаю что такое -no-remote -profile, но эта не моя программа и не моё дело.
0
 Аватар для Morgot
336 / 129 / 18
Регистрация: 26.12.2010
Сообщений: 501
16.09.2022, 18:07
Цитата Сообщение от Nexi99 Посмотреть сообщение
Я не знаю что такое -no-remote -profile
no-remote позволяет запускать несколько копий браузера , а profile это путь к профилю запуска браузера (допустим вы скопировали с какой-то машины определенный профиль с паролями, закладками и так далее, и хотите его запустить , а не дефолтный).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2022, 18:07

Запустить приложение с помощью CreateProcess
Создаю сервер для Lineage 2 ! В клиенте есть l2.exe я поменял расширение на l2.bin Пытался запустить через bat не получается, пишет...

Запустить консольное приложение CreateProcess
Мне необходимо запустить консольное приложение с некими параметрами. делаю так: procedure start(name,par:string); var Rlst:...

CreateProcess: кроме запуска процесса запустить и само приложение
Добрый день подскажите как мне кроме запуска процесса запустить и само приложение по пути Item-&gt;AppStart.c_str(), все перепробывал не...

Закрыть процесс, запущенный через CreateProcess
Добрый день! Имеется приложение на WinAPI. При нажатии клавиш Shift + C должен открываться блокнот (обязательно с использованием...

Нужно запустить паралельно 3 програми через CreateProcess
Не пойму как запустить паралельно несколько программ через CreateProcess


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

Или воспользуйтесь поиском по форуму:
74
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru