Форум программистов, компьютерный форум CyberForum.ru

Как ввести в окно программы текст и запустить? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Экземпляр функции http://www.cyberforum.ru/cpp-beginners/thread934014.html
Что такое "экземпляр функции"?
C++ Простой пример из книги Решил сделать все задания Павловской Т.А. С/С++ и вот с самого первого примера не понял кое-что. Сама программа вылетает и не показывает ответ. Возможно что-то я не так сделал. // 1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <locale> #include <iostream> #include <stdio.h> #include <math.h> http://www.cyberforum.ru/cpp-beginners/thread933999.html
seekg() не срабатывает по окончанию файла C++
почему когда чтение доходит до третей записи (в файле всего три стройчки с int, char и int величинами) то метод seekg(); опять не переводит указатель на нулевой байт файла?? т.е. по достижению конца файла, я не могу его прочитать сначала! подскажите пожалуйста изза чего это и как с этим жить то дальше?)) #include <iostream> #include <fstream> #include <string.h> #include <stdio.h>...
C++ подключение библиотеки
доброго времени суток, при подключении библиотеки #pragma comment(lib, "OpenGL.lib") (все это проделываю в visual c++) необходимо ли прописывать к ней путь(дело в том, что скачав библиотеку в lib и подключив ее в проекте, программа все равно не понимает некоторых основополоагающих функций которые вроде как должны быть в этой библиотеке), и если да то где это нужно делать, заранее спасибо
C++ twitter аккаунты достойных программистов С++ http://www.cyberforum.ru/cpp-beginners/thread933943.html
Подскажите пожалуйста микроблоги людей программирующих на С++, а то встроенный поиск мне всё каких-то биберов и тимберлейков подсовывает :wall:
C++ Как заполнить матрицу случайными числами? Здравствуйте! как можно заполнить матрицу 4*4 числами от 0..15 случайно? подробнее

Показать сообщение отдельно
gogs888
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 29
24.08.2013, 00:16  [ТС]     Как ввести в окно программы текст и запустить?
СКАЖИТЕ ХОТЬ КАК ЗАПУСТИТЬ КАКУЮ-ТО ПРОГРАММУ ПОСРЕДСТВОМ ВИЗУАЛ С++ 6.0.И ЕСЛИ ВОЗМОЖНО ВВЕСТИ ТУДА ЛОГИН И ПАРОЛЬ.

Добавлено через 23 часа 57 минут
Апп

Добавлено через 3 минуты
хочу сделать чтобы автоматом вводило из записной книги-файла

Добавлено через 10 часов 12 минут
вото че-то нашел-не для слабонервных(точно))
Существует несколько способов запуска одной программы из другой.

WinExec - устаревшая функция, используется только для совместимости с 16-битной Windows. Не рекомендуется к использованию в Win32-приложениях.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CreateProcess - замена WinExec для Win32.
 
    BOOL CreateProcess(
      LPCTSTR lpApplicationName,
      LPTSTR lpCommandLine,
      LPSECURITY_ATTRIBUTES lpProcessAttributes,
      LPSECURITY_ATTRIBUTES lpThreadAttributes,
      BOOL bInheritHandles,
      DWORD dwCreationFlags,
      LPVOID lpEnvironment,
      LPCTSTR lpCurrentDirectory,
      LPSTARTUPINFO lpStartupInfo,
      LPPROCESS_INFORMATION lpProcessInformation
    );
Параметры:

lpApplicationName имя программы
lpCommandLine параметры командной строки
lpProcessAttributes атрибуты безопасности процесса (имеет смысл только в NT/2000)
lpThreadAttributes атрибуты безопасности главного потока (имеет смысл только в NT/2000)
bInheritHandles если bInheritHandles == TRUE, то созданный процесс (запущенная программа), наследует дескрипторы (handles) запускающей программы
dwCreationFlags параметры создания. Здесь можно указать класс приоритета создаваемого процесса и некоторые дополнительные параметры
lpEnvironment указатель на блок окружения или NULL, тогда используется блок окружения родителя
lpCurrentDirectory текущая директория или NULL, тогда используется текущая директория родителя
lpStartupInfo указатель на структуру STARTUPINFO, которая определяет положение главного окна
lpProcessInformation сюда будет записана информация о созданном процессе
Пример запуска notepad.exe.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
STARTUPINFO si;
PROCESS_INFORMATION pi;
 
GetStartupInfo(&si);
 
if(!CreateProcess(
    "c:\\windows\\notepad.exe",
    NULL,
    NULL,
    NULL,
    FALSE,
    0,
    NULL,
    NULL,
    &si,
    &pi)) {
    // обработка ошибок
}
Следует обратить внимание на то, что указан полный путь к файлу notepad.exe. CreateProcess не производит поиск файлов в путях, указанных в переменной PATH.

ShellExecute и ShellExecuteEx - эти функции предназначены не только для запуска программ, но и для открытия и печати различных документов, т.е. запуска приложений, сопоставленных определенным типам файлов. Если, например, в качестве имени файла указать mydoc.doc, то будет запущено приложение, сопоставленное файлам с расширением doc (Microsoft Word). Функции ShellExecute и ShellExecuteEx в отличие от CreateProcess производят поиск файла в путях, указанных в переменной PATH.

C++
1
2
3
4
5
6
7
8
HINSTANCE ShellExecute(
    HWND hwnd, 
    LPCTSTR lpOperation,
    LPCTSTR lpFile, 
    LPCTSTR lpParameters, 
    LPCTSTR lpDirectory,
    INT nShowCmd
);
Эта функция возвращает значение >32 в случае успешного выполнения и значение <= 32 в случае ошибки.

Параметры:

hwnd дескриптор родительского окна
lpOperation строка, описывающая операцию: "open" - открытие (запуск), "print" - печать, "explore" - открыть окно с заданной папкой
lpFile имя файла
lpParameters параметры командной строки
lpDirectory текущая директория для запускаемой программы
nShowCmd параметр, указывающий, как будет показано приложение при открытии. Имеет тот же смысл, что и nCmdShow в WinMain
Пример запуска notepad.exe:

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
if((UINT)ShellExecute(
    NULL,
    "open",
    "notepad.exe",
    NULL,
    NULL,
    SW_SHOWNORMAL) <= 32) {
    // обработка ошибок
}
Пример открытия файла doc1.doc.
 
if((UINT)ShellExecute(
    NULL,
    "open",
    "doc1.doc",
    NULL,
    NULL,
    SW_SHOWNORMAL) <= 32) {
        // обработка ошибок
}
WINSHELLAPI BOOL WINAPI ShellExecuteEx(
    LPSHELLEXECUTEINFO lpExecInfo
);
Формат структуры SHELLEXECUTEINFO:
 
typedef struct _SHELLEXECUTEINFO{
    DWORD cbSize;           // размер структуры
    ULONG fMask;            // маска, указывающая
    HWND hwnd; 
    LPCTSTR lpVerb;         // команда
    LPCTSTR lpFile;         // имя файла
    LPCTSTR lpParameters;   // параметры командной строки
    LPCTSTR lpDirectory;    // текущая директория
    int nShow;              // параметр, указывающий, как будет показано приложение при открытии.
    HINSTANCE hInstApp;     // сюда будет записан hInstance приложения
 
    // Optional members 
    LPVOID lpIDList;        // IDL, определяющий файл для выполнения
    LPCSTR lpClass;         // имя класса файла или GUID
    HKEY hkeyClass;         // дескриптор ключа в реестре для класса файла
    DWORD dwHotKey;         // горячая клавиша
    HANDLE hIcon;           // иконка для класса файла
    HANDLE hProcess;        // дескриптор процесса
} SHELLEXECUTEINFO, FAR *LPSHELLEXECUTEINFO;
Пример запуска notepad.exe:
 
SHELLEXECUTEINFO    SHExecInfo;
ZeroMemory(&SHExecInfo, sizeof(SHExecInfo));
 
SHExecInfo.cbSize = sizeof(SHExecInfo);
SHExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
SHExecInfo.nShow = SW_SHOWNORMAL;
SHExecInfo.lpFile = "notepad.exe";
 
if(!ShellExecuteEx(&SHExecInfo)) {
    // обработка ошибок
}
Функции, предоставляемые стандартной библиотекой языка программирования. Рассмотрение этих функций выходит за рамки данной стать
 
Текущее время: 05:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru