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

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

04.03.2021, 22:45. Показов 27722. Ответов 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
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
09.04.2021, 03:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Nexi99 Посмотреть сообщение
ну так не открывает [...] уже пробела не было
Ну так наверное нужно ж догадаться сделать очевидное:

C++
1
2
char*put="C:\\Program Files (x86)\\Microsoft Office\\OFFICE11\\WINWORD.exe";
char*put1=" \"C:\\Users\\123\\Desktop\\не сохни.doc\"";
Почему нужно по пятьсот раз снова и снова разжевывать одно и то же?

И еще раз: на каком языке программирования это написано?
1
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
09.04.2021, 04:07  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
И еще раз: на каком языке программирования это написано?
Да ни на каком (копипаст из Проводника). В строке
C++
1
char*put="C:\\Program Files (x86)\\Microsoft Office\\OFFICE11\\WINWORD.exe";
есть пробелы между названиями папок а здесь уже другая запись
C++
1
char*put1=" \"C:\\Users\\123\\Desktop\\не сохни.doc\"";
из-за того что в названии файла не сохни.doc есть пробел вы добавили дополнительные слэши, опять же я выше писал что нормальных примеров не нашёл а про пробелы было упоминание, и понятное дело я не мог знать как это должно быть написано. Проверил теперь работает. У меня даже тема есть где я про пробелы спрашивал.
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
04.09.2022, 01:36  [ТС]
Мне нужно выполнить что-то такое
C++
1
2
CreateProcessA("C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe","C:\\MultiBot\\my_Bots\\home\\home-2\\main_File\\loader.html?m=run.js",
0,0,0,0,0,0,&start_info,&proc_info);
Можно ли это сделать функцией CreateProcessA, эта часть loader.html?m=run.js запускает макрос в браузере home-2.exe.
0
 Аватар для Morgot
336 / 129 / 18
Регистрация: 26.12.2010
Сообщений: 501
04.09.2022, 16:14
Nexi99, можно конечно, а что не получается? Всю тему лень читать. Только надо передавать обе строки вроде во втором параметре, т.е. можно первый как NULL, а во втором C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe C:\\MultiBot\\my_Bots\\home\\home-2\\main_File\\loader.html?m=run.js"
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
04.09.2022, 19:53  [ТС]
Цитата Сообщение от Morgot Посмотреть сообщение
Всю тему лень читать
я по теме тестировал тот пост что написал, я запускал проигрыватель а потом файл через запятую и запускался ролик. Счас проверю ваш способ может что перепутал.

Добавлено через 16 минут
Цитата Сообщение от Morgot Посмотреть сообщение
можно конечно, а что не получается
не а, не работает, если во 2ой параметр засунуть 2 строки то home-2.exe файл запускается а макрос из файла loader.html в работу не идёт. Этот макрос работает в браузере home-2.exe. Если 2 строки в 1ый параметр сувать то вообще браузер не запускается.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
04.09.2022, 20:10
Что за бред?
Зачем для скрипта юзать процесс?
Батника что ли мало?
Пожалуй поставлю в игнор ТС, как лиса29, читать это бред сил нет.
1
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
04.09.2022, 21:07  [ТС]
Цитата Сообщение от _lunar_ Посмотреть сообщение
Зачем для скрипта юзать процесс?
мне надо его запустить средствами с++, чтобы сделать всё 1им языком, вот я и спрашиваю, те кто разработали этот скрипт пока ответа тоже не дают.

Добавлено через 3 минуты
вот код батника
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
Добавлено через 1 минуту
home-2.exe запустить не трудно, а вот что делать с loader.html?m=run.js я не знаю.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
04.09.2022, 22:35
1
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
05.09.2022, 08:45
Nexi99, а где в Вашем вызове CreateProcess эти аргументы?
-no-remote -profile %pathToProfile%
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
05.09.2022, 15:20  [ТС]
Цитата Сообщение от politoto Посмотреть сообщение
-no-remote -profile
я не знаю что это в сети не нашёл что они делают и как их правильно заполнить. А что касаемо %pathToProfile% так там же есть и pathToFirefox и work_script, но сам файл скритп находится по пути "C:\\MultiBot\\my_Bots\\home\\home-2\\main_File\\loader.html?m=run.js" а браузер находится по этом пути "C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe" и функцией он запускается.
Как по вашему будет выглядеть правильная команда для CreateProcess с учётом всех этих модулей а также с учётом -no-remote -profile
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
05.09.2022, 19:07
Цитата Сообщение от Nexi99 Посмотреть сообщение
Как по вашему будет выглядеть
На вкус и цвет фломастеры разные ))
Например вот код из древней справки по WinAPI
The following code fragment demonstrates how to create a process.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void main( VOID ) {
 
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
 
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
 
    // Start the child process. 
 
    if( !CreateProcess( NULL, // No module name (use command line). 
        "MyChildProcess", // Command line. 
        NULL,             // Process handle not inheritable. 
        NULL,             // Thread handle not inheritable. 
        FALSE,            // Set handle inheritance to FALSE. 
        0,                // No creation flags. 
        NULL,             // Use parent's environment block. 
        NULL,             // Use parent's starting directory. 
        &si,              // Pointer to STARTUPINFO structure.
        &pi )             // Pointer to PROCESS_INFORMATION structure.
    ) 
        ErrorExit( "CreateProcess failed." );
 
    // Wait until child process exits.
    WaitForSingleObject( pi.hProcess, INFINITE );
 
    // Close process and thread handles. 
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}
Как видите всё командную строку можно полностью запихнуть вторым параметром.
Но если пробелы в пути к EXE , то уже придётся его брать в кавычки .

Как вариант можно использовать относительный путь.
Если изменить рабочую директорию
The SetCurrentDirectory function changes the current directory for the current process.
C
1
2
3
4
BOOL SetCurrentDirectory(
   LPCTSTR lpPathName
    // address of name of new current directory
);
Вобщем как заблагорасудится

Насчёт параметров -no-remote -profile , по любому нужно узнать для чего они )) и вообще программка.
Иначе я-бы у себя не стал запускать то, не зная чего, и ещё так, не зная как ))

Добавлено через 8 минут
заблагорассудиться

Добавлено через 3 часа 19 минут
Цитата Сообщение от Nexi99 Посмотреть сообщение
Покажите пример
Возможно не угадал , но браузеру нужны именно пути file://....
Сейчас под рукой только XPx64 и K-Meleon ...но firefox-подобный ))
и он никакие -no-remote -profile "%s" "%s" не пропускает
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <windows.h>
// #include <tchar.h>
 
#define EXE_IS      TEXT("C:\\P\\KM-Goanna\\k-meleon.exe")
#define PROF_IS     TEXT("%XPROF%")
#define FILE_IS     TEXT("file:///c:/WINDOWS/Web/tip.htm?m=run.js")
// "%WNDIR%\Web\tip.htm?m=run.js" not works
//"c:\\WINDOWS\\Web\\tip.htm?m=run.js"  not works
//
#define SIZE_BUFFER (3*MAX_PATH)
// немного меньше чем максимально можно навыдумывать путей ))
 
HANDLE g_hHeap;
 
int main( void) {
 
    {
        TCHAR* bufer;
        STARTUPINFO* si;
        PROCESS_INFORMATION* pi;
        
        si =(STARTUPINFO*) HeapAlloc( g_hHeap = GetProcessHeap(),
                HEAP_ZERO_MEMORY,
                sizeof(STARTUPINFO) + sizeof(PROCESS_INFORMATION) + (SIZE_BUFFER * sizeof(TCHAR))
                );
        pi      = (PROCESS_INFORMATION*) ((char*) si + sizeof(STARTUPINFO));
        bufer   = (TCHAR*)              ((char*)pi + sizeof(SHELLEXECUTEINFO));
        wsprintf(bufer,
////                TEXT("\"%s\" -no-remote -profile \"%s\" \"%s\""),
                TEXT("\"%s\" \"%s\""),
                EXE_IS,
////                PROF_IS,
                FILE_IS
            );
MessageBox(0,bufer,TEXT("test"),0);
 
        if( !CreateProcess( NULL, // No module name (use command line). 
                bufer,      // Command line. 
                NULL,             // Process handle not inheritable. 
                NULL,             // Thread handle not inheritable. 
                FALSE,            // Set handle inheritance to FALSE. 
                0,                // No creation flags. 
                NULL,             // Use parent's environment block. 
                NULL,             // Use parent's starting directory. 
                si,              // Pointer to STARTUPINFO structure.
                pi
            )            // Pointer to PROCESS_INFORMATION structure.
        ) {
            MessageBox(0,bufer,TEXT("Error: CreateProcess failed."),0);
            ExitProcess(0);
        }
    
            // Close process and thread handles. 
        CloseHandle( pi->hProcess );
        CloseHandle( pi->hThread );
        HeapFree(g_hHeap, 0, si);
    }
    return 0;
}

Не по теме:


И не понял почему с ShellExecuteEx()
fMask = SEE_MASK_DOENVSUBST не раскрывает переменные типа %WINDIR%
Вроде по описанию должно ...

Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <windows.h>
// #include <tchar.h>
 
#define EXE_IS      TEXT("%KM_PATH%\\k-meleon.exe")
//#define FILE_IS       TEXT("file:///%WINDIR%/Web/tip.htm?m=run.js")
//   тоже только так
//#define EXE_IS        TEXT("C:\\P\\KM-Goanna\\k-meleon.exe")
#define PROF_IS     TEXT("%XPROF%")
#define FILE_IS     TEXT("file:///c:/WINDOWS/Web/tip.htm?m=run.js")
 
#define SIZE_BUFFER (3*MAX_PATH)
// немного меньше чем максимально можно навыдумывать путей ))
 
int main( void) {
 
    {
            TCHAR* bufer;
            auto SHELLEXECUTEINFO*  sei =(SHELLEXECUTEINFO*) LocalAlloc(
                LMEM_ZEROINIT,
                sizeof(SHELLEXECUTEINFO) + (SIZE_BUFFER * sizeof(TCHAR))
                );
 
            bufer = (TCHAR*) ((char*)sei + sizeof(SHELLEXECUTEINFO));
            sei->cbSize =   sizeof(SHELLEXECUTEINFO);
            sei->fMask  = SEE_MASK_DOENVSUBST;
            sei->lpFile =   EXE_IS;
            wsprintf(bufer,
//                      TEXT("--no-remote --profile\"%s\" \"%s\""),
//                      PROF_IS,
 
                        TEXT("\"%s\""),
                        FILE_IS);
            sei->lpParameters = bufer;
            sei->fMask  = SEE_MASK_NO_CONSOLE;
            sei->nShow  = SW_SHOW;
 
            ShellExecuteEx(sei);
            LocalFree((HLOCAL) sei);
    }
    return 0;
}

0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
06.09.2022, 02:38  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
Возможно не угадал , но браузеру нужны именно пути file://....
так пробовал
C++
1
2
3
4
5
CreateProcessA("C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe","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);
 
CreateProcessA("C:\\MultiBot\\my_Bots\\home\\home-2\\home-2.exe","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);
Браузер запускается а файл не передаётся и скрипт конечно не стартует. Это плохо что программа не своя.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
06.09.2022, 07:34
Nexi99, А если не батником, а вручную запускать программу браузера с параметрами из окна Комадной строки или из окошка "Выполнить" по WindowsR ?
Открывается то, что нужно?
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
06.09.2022, 08:13  [ТС]
Цитата Сообщение от politoto Посмотреть сообщение
Nexi99, А если не батником, а вручную запускать программу браузера с параметрами из окна Комадной строки или из окошка "Выполнить" по WindowsR ?
Открывается то, что нужно?
Да, если просто файл перетащить пишет что нужен js, а если всю строку скопипастить включая ?m=run.js то макрос запускается но не работает потому что я в хроме запускал, чтобы он работал полностью его нужно запускать там где он создан а это home-2.exe. И вот интересно можно ли это сделать функцией CreateProcessA или нет.
Это было бы лучше если бы у пользователей форума была это прога так было бы конечно на чём тестить, а так сложно проверить.
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
06.09.2022, 09:11
Цитата Сообщение от Nexi99 Посмотреть сообщение
так пробовал
с прямыми слешами попробуйте
"file:///C:/MultiBot/my_Bots/home/home-2/main_File/loader.html?m=run.js"
и от ?m=run.js толку только для javascript-а может быть ...

А вообще почитал https://wiki.mozilla.org/Firefox/CommandLineOptions ...
оно конечно да ... поболее опций чем у меня http://kmeleonbrowser.org/wiki/CommandLineOptions
непонятно в чём задумка ... хотите открыть браузер с кучей вкладок или открыть кучу окон ....
Предположительно будут вкладки ... как с -new-tab URL

Добавлено через 10 минут
Цитата Сообщение от Nexi99 Посмотреть сообщение
SET work_script=file:///%~dp0loader.html?m=run.js
%~dp0 это
The GetCurrentDirectory function retrieves the current directory for the current process.
C
1
2
3
4
5
6
DWORD GetCurrentDirectory(
   DWORD nBufferLength,
    // size, in characters, of directory buffer
   LPTSTR lpBuffer
    // address of buffer for current directory
);
кстати батник в перемешку с прямыми и обратными слешами вроде запускал.... но в cmd может быть и можно а так хз
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
07.09.2022, 02:40  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
Функция GetCurrentDirectory извлекает текущий каталог для текущего процесса
и куда это пихать, путь же я и так знаю зачем его извлекать?
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
07.09.2022, 10:18
Цитата Сообщение от ft4l Посмотреть сообщение
%~dp0 это
The GetCurrentDirectory
Чего-то я сказал не то
В батнике этот путь получается из пути к батнику
... типа вырезается из GetModuleFileName(hInst, buffer, MAX_PATH)


Цитата Сообщение от Nexi99 Посмотреть сообщение
путь же я и так знаю
Да ,) но с внешними файлами неизвестно где что может оказаться
... я поставил в свою XP другой браузер оно запускается даже например так ... с относительными путями
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#pragma comment(linker, "/ENTRY:EntryPoint") // no main
#include <windows.h>
 
 
#define EXE_IS      TEXT("\\P\\BROW\\palemoon\\palemoon.exe")
#define PROF_IS     TEXT("%XPROF%")
#define FILE_IS     TEXT("./xxxxx.html?m=run.js")
#define SIZE_BUFFER (3*MAX_PATH)
 
HANDLE g_hHeap;
TCHAR g_tBuf[MAX_PATH];
 
int EntryPoint( void) {
    HINSTANCE       hInst;
    TCHAR* tCur = ((char*)g_tBuf + 1 
        + GetModuleFileName(hInst = GetModuleHandle(NULL), g_tBuf, MAX_PATH));
    //tCur в концк строки с путём к EXE
    while (*(--tCur) != TEXT('\\'));
    *tCur = TEXT('\0'); // обрезано по последнему слешу.
    SetCurrentDirectory(g_tBuf); // переход к EXE ... т.к. хз откуда запускали.
 
    {
        TCHAR* bufer;
        STARTUPINFO* si;
        PROCESS_INFORMATION* pi;
        
        si =(STARTUPINFO*) HeapAlloc( g_hHeap = GetProcessHeap(),
                HEAP_ZERO_MEMORY,
                sizeof(STARTUPINFO) + sizeof(PROCESS_INFORMATION) + (SIZE_BUFFER * sizeof(TCHAR))
                );
        pi      = (PROCESS_INFORMATION*) ((char*) si + sizeof(STARTUPINFO));
        bufer   = (TCHAR*)              ((char*)pi + sizeof(SHELLEXECUTEINFO));
        wsprintf(bufer,
////                TEXT("\"%s\" -no-remote -profile \"%s\" \"%s\""),
                TEXT("\"%s\" \"%s\""),
                EXE_IS,
////                PROF_IS,
                FILE_IS
            );
MessageBox(0,bufer,TEXT("test"),0);
 
        if( !CreateProcess( NULL, // No module name (use command line). 
                bufer,      // Command line. 
                NULL,             // Process handle not inheritable. 
                NULL,             // Thread handle not inheritable. 
                FALSE,            // Set handle inheritance to FALSE. 
                0,                // No creation flags. 
                NULL,             // Use parent's environment block. 
                NULL,             // Use parent's starting directory. 
                si,              // Pointer to STARTUPINFO structure.
                pi
            )            // Pointer to PROCESS_INFORMATION structure.
        ) {
            MessageBox(0,bufer,TEXT("Error: CreateProcess failed."),0);
            ExitProcess(0);
        }
    
            // Close process and thread handles. 
        CloseHandle( pi->hProcess );
        CloseHandle( pi->hThread );
        HeapFree(g_hHeap, 0, si);
    }
    return 0;
}
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
g:\usr\src\test
>
   cl /MD xtest.c /link /subsystem:windows kernel32.lib user32.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86
 
Copyright (C) Microsoft Corporation.  All rights reserved.
 
xtest.c
Microsoft (R) Incremental Linker Version 9.00.30729.207
Copyright (C) Microsoft Corporation.  All rights reserved.
 
/out:xtest.exe
/subsystem:windows
kernel32.lib
user32.lib
xtest.obj
 
g:\usr\src\test
>
   xtest

но тоже никак не хочет хотя-бы с -no-remote
а palemoon уже более поздний форк FF .)
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
07.09.2022, 11:11
Nexi99,
Браузер не работает с относительными путями из тела скрипа(вернее работает но не так как ожидается). run.js передается без пути. Значит предполагается что будет искаться в current work directory. Доя браузера это Desktop. Надо указывать полный путь в формате file://C:/folder1/folder2/run.js
0
 Аватар для Morgot
336 / 129 / 18
Регистрация: 26.12.2010
Сообщений: 501
07.09.2022, 16:03
Цитата Сообщение от YUEN HOIFEF Посмотреть сообщение
Значит предполагается что будет искаться в current work directory.
Так ее можно переделать в параметрах CreateProcess.
0
Невнимательный
 Аватар для ft4l
3138 / 1334 / 362
Регистрация: 08.02.2013
Сообщений: 7,826
Записей в блоге: 2
07.09.2022, 21:43
Цитата Сообщение от ft4l Посмотреть сообщение
C
15
    TCHAR* tCur = ((char*)g_tBuf + 1
неточности ))
C
15
    TCHAR* tCur = (TCHAR*) ((char*)g_tBuf + 1
и в 32-й вместо sizeof(SHELLEXECUTEINFO) надо sizeof(PROCESS_INFORMATION)
и #pragma в GCC не работает ... собирается так
Windows Batch file
1
  gcc -DUNICODE xtest.c -o xtest.exe -nostartfiles -Wl,--entry=EntryPoint,-s,-lkernel32,-luser32
но с warning
ld.exe: warning: cannot find entry symbol EntryPoint; defaulting to 0000000000401000
типа надо ещё передавать параметр со смещением... КМК
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2022, 21:43

Запустить приложение с помощью 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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
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