Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020

Как сплести набор взаимосвязанных утилит ?

20.07.2015, 09:42. Показов 3875. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Пишу набор утилит, создал несколько проектов в одном решении в VS. Утилиты при выполнении операций будут взаимодействовать друг с другом. Пока что для запуска намерен использовать одну из функций ShellExecute() или CreateProcess() или system("*.exe").
Вопрос: существует ли ещё какие либо решения взаимовызова для подобных комплексов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2015, 09:42
Ответы с готовыми решениями:

Набор утилит из Steam-версии Civilization V
Уважаемые форумчане, есть ли у кого-нибудь лицензионная цивилизация, активированная через стим?

Как посчитать значения взаимосвязанных колонок?
Здравствуйте, не уверен, что правильно выбрал раздел, ну да и чёрт с ним, разберемся по ходу. В общем есть две таблицы, одна Авторы,...

Как заменить набор символов на другой набор
В Perl есть оператор tr//, который меняет одни символы на другие. Например: $code =~ tr/eopaxcm/еорахсм/; при этом латинская...

51
 Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
31.08.2015, 15:08
Студворк — интернет-сервис помощи студентам
Avazart, Лучше так
C++
1
CString str(L"recognition.exe img.png");
а подставлять
C++
1
str.GetBuffer();
От так работает
C++
1
2
3
4
 CString str(L"recognition.exe img.png");
  //создаем дочерний процесс
  if (!CreateProcess(L"recognition.exe",str.GetBuffer(),NULL,NULL,TRUE,HIGH_PRIORITY_CLASS,
                     NULL,NULL,&si,&pi))
А мб. есть какой то класс МФС для работы с процессами??? На МСДН посоветовали Process.Start использовать, но то для C#, для С# есть класс Process походу
Кликните здесь для просмотра всего текста

Не по теме:

Avazart, Это я у тебя статью стянул про curl :)

0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.08.2015, 15:12
Цитата Сообщение от Tulosba Посмотреть сообщение
Зачем такой хитрый tolower?
Да потом что бы долго не менять если нужно бутет играть с макросами юникода

Добавлено через 46 секунд
Цитата Сообщение от Tulosba Посмотреть сообщение
Тут можно и UB словить между делом, имхо.
Да мы вроде как обсуждали где то это с Убежденным ...

Добавлено через 1 минуту
Цитата Сообщение от ninja2 Посмотреть сообщение
для С# есть класс Process походу
Я писал свой класс С++ как-то... по крайней мере пытался, с пайпами там итп.
0
 Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
31.08.2015, 15:14
Цитата Сообщение от Avazart Посмотреть сообщение
Я писал свой класс как-то...
Да отож все свой все свой, а на С# все готовое есть, нада мб. на С# переходит, одни плюсы
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.08.2015, 15:16
Цитата Сообщение от ninja2 Посмотреть сообщение
Да отож все свой все свой, а на С# все готовое есть, нада мб. на С# переходит, одни плюсы
Ну я писал свой только что бы поиграться и посмотреть что получится, какие проблемы возникнут.
А вообще необходимости такоей особой нет- в Qt к примером есть QProcess.

К тому же такие ошибки возникают обычно только от неопытности и нежелания обращаться к документации/книгам.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
31.08.2015, 15:23
Цитата Сообщение от Avazart Посмотреть сообщение
Да потом что бы долго не менять если нужно бутет играть с макросами юникода
А в чем смысл нарушать согласованность типов символов в коде? Т.е. если допустим TCHAR=wchar_t в текущей настройке, зачем иметь код с char?
Цитата Сообщение от Avazart Посмотреть сообщение
Да мы вроде как обсуждали где то это с Убежденным ...
И к чему пришли?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.08.2015, 15:25
Цитата Сообщение от Tulosba Посмотреть сообщение
А в чем смысл нарушать согласованность типов символов в коде? Т.е. если допустим TCHAR=wchar_t в текущей настройке, зачем иметь код с char?
Да так както хитро, есть ведь макрос UNICODE влияющий на СreateProcessA()/СreateProcessB()
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
31.08.2015, 15:30
Цитата Сообщение от Avazart Посмотреть сообщение
есть ведь макрос UNICODE влияющий на СreateProcessA()/СreateProcessB()
СreateProcessW.
дефайн есть, но в чем всё же суть параллельного существования char и wchar_t базированного кода в данном случае?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.08.2015, 15:34

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
СreateProcessW.
Ну да, опечатался...


Цитата Сообщение от Tulosba Посмотреть сообщение
но в чем всё же суть параллельного существования char и wchar_t базированного кода в данном случае?
На вcякий случай, вдруг не захочится использовать wmain
Цитата Сообщение от Tulosba Посмотреть сообщение
И к чему пришли?
CreateProcess() - некорректно передаются параметры командной строки
1
31.08.2015, 15:41

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
CreateProcess() - некорректно передаются параметры командной строки
мда

0
 Аватар для SerVal
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
31.08.2015, 18:44
CreateProcess() - некорректно передаются параметры командной строки
Чего там неправильного? Всё правильно передаётся:
Вот пример - запускает notepad.exe с передачей ему параметра "c:\\test.txt"
(notepad.exe запускается с открытием файла c:\\test.txt)

main:
Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <wchar.h>
 
#include <string>
#include <iostream>
#include <sstream> 
#include <fstream>
 
int main(int argc, char* argv[])
{
    PROCESS_INFORMATION ProcessInfo; //This is what we get as an [out] parameter
    STARTUPINFO StartupInfo;         //This is an [in] parameter
 
    wchar_t path_to_exe[] = L"c:\\windows\\notepad.exe";
    wchar_t cmdArgs[] = L"notepad.exe c:\\test.txt"; // argv[]
 
    ZeroMemory(&StartupInfo, sizeof(StartupInfo));
    StartupInfo.cb = sizeof StartupInfo; //Only compulsory field
 
    if (CreateProcess(
        path_to_exe,
        cmdArgs,
        NULL, 
        NULL,
        FALSE, 
        0, 
        NULL,
        NULL,
        &StartupInfo, 
        &ProcessInfo))
    {
        WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
        CloseHandle(ProcessInfo.hThread);
        CloseHandle(ProcessInfo.hProcess);
 
        printf("Процесс создан.");
    }
    else
    {
        printf("Процесс НЕ создан.");
    }
    return 0;
}

0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.08.2015, 19:35
Попробуйте так
C++
1
wchar_t cmdArgs[] = L"c:\\windows\\notepad.exe c:\\test.txt";
Но вместо path_to_exe подставляйте NULL
Кроме того пробелы в пути собердаться пробльные символы необходимо обрамлять путь в кавычки.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
01.09.2015, 10:42
Цитата Сообщение от Убежденный Посмотреть сообщение
Второй аргумент CreateProcessXxxW должен быть доступен на запись.
Такая вот особенность у этого семейства функций (документированная, кстати).
Любопытно. Не знал. Спасибо вам!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2015, 10:42

Два взаимосвязанных ListBox'a
Доброго времени суток! Помогите, пожалуйста, по такому вопросу: есть ListBox1 и ListBox2. При нажатии на элемент ListBox1 должен...

Сортировка взаимосвязанных массивов
всем здравствуйте. очень нужна помощь советом в следующем вопросе. если два массива, в одном содержатся значения площадей фигур, в...

два взаимосвязанных spinbox
Здравствуйте .Столкнулся со следующей проблемой. На форме есть два spinbox один - ширина изображения в пикселях, второй - высота. При...

Два взаимосвязанных поля input
Здравствуйте прошу помочь... не могу понять как создать два взаимосвязанных поля input например в первый input1 вводится значение 10 а...

Два взаимосвязанных SELECTa на VBScript
Нашел тут хороший пример от Zombie по взаимосвязанной работе 2-х select_ov, не поделится ли кто аналогичным тока на VBScript ? Пример хочу...


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

Или воспользуйтесь поиском по форуму:
52
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru