Меню
Категории
Как запустить программу или почтовик из программы на C++
5 марта, 2008 Программинг

Как запустить программу или почтовик из программы на C++.

Стандартные и всегданужные задачи мы будем реализовывать через функции ShellExecute и WinExec.

Функция ShellExecute выполняет различные действия над определенным файлом. Файл может быть либо исполнимым файлом, либо файлом документа, либо папкой. Функция может запустить файл на выполнение (для исполняемых файлов), открыть файл документа с помощью соответствующего ему приложения или раскрыть на экране окно с содержимым папки (каталога).

Рассмотрим прототип функции ShellExecute:

#include <windows.h>
#include <Shellapi.h>
void main()
{
ShellExecute(0, “Open”, “mailto: tt@tts” , “”, “”, 1);
}

Параметр hwnd указывает идентификатор окна. Это окно будет выступать в качестве родительского окна для запускаемого приложения.

Наибольший интерес представляет параметр lpOperation. Он определяет операцию, которая будет выполняться над файлом, заданным в параметре lpFile. Как ни странно, код операции задается не числовой константой, а строкой, закрытой нулем. В качестве lpOperation можно указать строки “open”, “print” и “explore”. Краткое описание соответствующих операций мы привели в следующей таблице:

Параметр lpOperation Операция
“open” или значение NULL Открыть файл, указанный параметром lpFile. Файл может быть исполнимым файлом, документом или папкой
“print” Распечатать файл, определенный параметром lpFile. Указанный файл должен быть файлом документа
“explore” Функция позволяет просмотреть содержимое папки, заданной параметром lpFile с помощью приложения Microsoft Explorer

В случае, если ShellExecute используется для запуска исполнимого файла, вы можете передать ему строку параметров через lpParameters. Во всех остальных случаях указывайте в качестве lpParameters значение NULL.

Параметр lpDirectory задает имя каталога, который используется по умолчанию. В качестве него вы можете указать значение NULL.

Параметр nShowCmd позволяет указать режим, в котором будет запущено приложение. Этот параметр используется только при запуске исполнимых файлов. Если функция ShellExecute используется для открытия или печати файла документа, этот параметр следует указать равным нулю.

Функция ShellExecute возвращает идентификатор (instance handle) запущенного приложения или идентификатор сервера DDE. Если возникнет ошибка, то функция возвращает ее код.

Функция WinExec запускает заданную прикладную программу.

#include <windows.h>
#include <iostream.h>

void main()
{
WinExec(“c:\\windows\\system32\\calc.exe”,SW_SHOW);
}

2 комментария
  1. Спасибо

  2. Полезная инфа для новичков, в дальнейшем пусть книжки по API читают для С\С++, а то используя не зная сути работы, все ровно что пользоваться машиной, не зная как работает рулевая.

Добавить комментарий




*