Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
Frenk-kobalt
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 10
#1

Открытие сторонней программы с кодом C++ - C++

13.05.2012, 19:57. Просмотров 2487. Ответов 17
Метки нет (Все метки)

У меня идея пришла в голову открыть с++ кодом сторонную программу, как с bat-файла с текстом start C:путь файла.ехе . Весь гугл облазил, элементарного способа не нашел. Есть идеи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 19:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Открытие сторонней программы с кодом C++ (C++):

Запись в текстовое поле сторонней программы - C++
В какой-то программе есть поле для ввода текста как выбрать программу и записать в поле определенный текст?

Можно ли (и как) на С++ перехватить действия сторонней программы в windows? - C++
Например фотожопа. Возможно ли на С++ написать некоторую программу, которая бы фиксировала все действия, производимые пользователем в...

Открытие файла другой программы из программы.Косяк. - C++
Итак, есть в программе такой кусок: system("E:\\KMPlayer\\KMPlayer.exe E:\\WINDOWS\\New_year.mp3"); Косяк в том, что пока песня не дойдёт...

Завершение программы с кодом - C++
#include <iostream> #include <math.h> #include <stdio.h> #include <stdlib.h> int main() { FILE *file; ...

Программы со свободным кодом - C++
Всем привет. Подскажите начинающему.Мне советовали в универе искать программы с открытым кодом и их разбирать. Может кто подскажет...

Программы с открытым исходным кодом - C++
Дайте пожалуйста список программ с открытым исходным кодом.

17
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
13.05.2012, 20:02 #2
C++
1
2
String ExePath="C:\\Windows\\system32\\calc.exe"; // Запускаем калькулятор
ShellExecute(NULL,"open",ExePath.c_str(),NULL,(ExtractFileDir(ExePath)).c_str(),SW_RESTORE);
Есть и другие ф-ции WinApi для таких целей
0
Frenk-kobalt
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 10
13.05.2012, 20:11  [ТС] #3
А string exepath и shellexecute какой директививой включается?
#include <w32api.h> ?
0
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
13.05.2012, 20:40 #4
Ну во превых какой у тебя компилятор?
Пробуй
C++
1
2
3
4
#include <windows.h>
#include <string>
std::string ExePath="C:\\Windows\\system32\\calc.exe"; // Запускаем калькулятор
ShellExecute(NULL,"open",ExePath.c_str(),NULL,(ExtractFileDir(ExePath)).c_str(),SW_RESTORE);
Добавлено через 1 минуту
А вообще читай http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
0
Frenk-kobalt
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 10
13.05.2012, 21:00  [ТС] #5
ну я пишу на Dev c++ 4.9.9.2

ну этот код у мя не работает, то есть не запускает прогу.
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <w32api.h>
#include <windows.h>
#include <string>
int main ()
{
     int den;
     int a, b, c, x;
     printf ("pishi sebe summy dvyx chisel! I doka}|{i chto vi ne robot! \n");
     scanf ("%d%d", &a, &b);
     c= a + b;
     printf ("\nOtvet na vopros?\n %d + %d=?", a, b);
     scanf (" %d", &x);
     if ( x == c) {
          printf("\nDer]|[i i raduisa!8-)");
          std::string ExePath="C:\\Windows\\system32\\calc.exe";
          ShellExecute(NULL,"open",ExePath.c_str(),NULL,(ExtractFileDir(ExePath)).c_str(),SW_RESTORE);
          }
     else {
          return 0;
          }
return 0;
0
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
13.05.2012, 21:15 #6
Какие ошибки выдает?
0
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 73
13.05.2012, 21:15 #7
Попробуйте так. У меня запускается калькулятор.
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
#include <stdio.h>
#include <windows.h>
#include <string>
 
int main ()
{
    int den;
    int a, b, c, x;
 
    printf ("pishi sebe summy dvyx chisel! I doka}|{i chto vi ne robot! \n");
    scanf ("%d%d", &a, &b);
 
    c = a + b;
 
    printf ("\nOtvet na vopros?\n %d + %d=?", a, b);
    scanf (" %d", &x);
 
    if (x == c) 
    {
        printf("\nDer]|[i i raduisa!8-)");
        std::string ExePath="C:\\Windows\\system32\\calc.exe";
        ShellExecute(NULL,"open",ExePath.c_str(),NULL,NULL,SW_RESTORE);
    }
 
    return 0;
}
0
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
13.05.2012, 21:18 #8
Да я забыл убрать ExtractFileDir() это кажется чисто Builder-ровская ф-ция, но рабочую дирректорию все равно надо задавать,в NULL её лучше не ставить
0
Frenk-kobalt
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 10
13.05.2012, 21:20  [ТС] #9
спасибо, запустилось. Но хочу понять причину ошибки. в моем коде компилятор ругает на
C:\Dev-Cpp\];-)\ankl.cpp In function `int main()':
C:\Dev-Cpp\];-)\ankl.cpp `ExtractFileDir' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
0
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 73
13.05.2012, 21:31 #10
Цитата Сообщение от Frenk-kobalt Посмотреть сообщение
спасибо, запустилось. Но хочу понять причину ошибки. в моем коде компилятор ругает на
C:\Dev-Cpp\];-)\ankl.cpp In function `int main()':
C:\Dev-Cpp\];-)\ankl.cpp `ExtractFileDir' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
Причину же Вам написал компилятор. Не объявлена функция ExtractFileDir.

Цитата Сообщение от Avazart Посмотреть сообщение
но рабочую дирректорию все равно надо задавать,в NULL её лучше не ставить
Прочитайте MSDN.

lpDirectory [in, optional]
Type: LPCTSTR
A pointer to a null-terminated string that specifies the default (working) directory for the action. If this value is NULL, the current working directory is used. If a relative path is provided at lpFile, do not use a relative path for lpDirectory.
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

В данном случае у нас путь указан в lpFile.
0
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
13.05.2012, 21:32 #11
Но хочу понять причину ошибки
ExtractFileDir() это кажется чисто Builder-ровская ф-ция
В вашем компиляторе нет такой ф-ции, ищите аналоги либо напишите её сами
0
Frenk-kobalt
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 10
13.05.2012, 21:34  [ТС] #12
Да, уже читаю...
0
Avazart
Эксперт С++
7574 / 5559 / 327
Регистрация: 10.12.2010
Сообщений: 24,935
Записей в блоге: 17
13.05.2012, 21:35 #13
но рабочую дирректорию все равно надо задавать,в NULL её лучше не ставить
Прочитайте MSDN.
exkilla Почитай меня
Узнать корневой каталог
0
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 73
13.05.2012, 21:43 #14
Avazart, почитал. В данном случае мы указываем путь в lpFile, так что не волнует какая рабочая директория. Запущенно ярлыком или нет. Если не верите на слово - попробуйте и удостоверьтесь.

P.S. Для Вас MSDN является не достоверным источником?
0
Frenk-kobalt
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 10
13.05.2012, 21:56  [ТС] #15
Я о MSDN первый раз слышу =)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 21:56
Привет! Вот еще темы с ответами:

Проблема с кодом программы - не работает проверка условия - C++
Здравствуйте, у меня вот проблема. Фрагмент кода их программы. Как вы поняли, при обпределенном весе должно выводиться конкретное...

Программы для чтения PDF с открытым исходным кодом на С++ - C++
Здраствуйте, помогите пожалуйсто, некак немогу найти простейшую программу для чтения PDF с открытым кодом на С++, если кто знает скиньте...

Открытие файла с видео из программы - C++
Доброго времени суток всем. Есть такая проблема. Хочу сделать прожку, для упорядочивания фильмов. Что б можно было добавлять к ним обложки,...

Открытие текстового файла из программы - C++
Привет. Заинтересовал такой вопрос: можно ли из кода самой программы открыть какой-нибудь, к примеру, текстовый файл примерно таким...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru