Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535

Запуск skype

30.01.2009, 12:34. Показов 2876. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно программно запустить несколько версий skype, кто знает как?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2009, 12:34
Ответы с готовыми решениями:

Запуск студией и запуск самой виндой. Разница работы программы
Итак, проблема такова: есть проект, который замечательно работает при нажатии F5 в студии. При компиляции в релиз-режиме и запуске...

Браузеры. Skype:oooo. Mailto:oo@com.ru
При установленном скайпе в браузерах текст "Skype:oooo" заменяется на трубку, флаг,...... И ещё куча таких прог. Как сделать что б при...

[Gentoo] Запуск skype не в KDE
Здравствуйте. У меня раньше стояли кеды и в них спокойно работал скайп. Со временем решил перейти на использование другого DE, но в них...

2
Заблокирован
30.01.2009, 12:50
Лучший ответ Сообщение было отмечено MAcK как решение

Решение

Почему б не поробовать CreateProcess, вот привожу текст справочника по с++
C++
1
2
3
4
5
UINT WinExec(  
    LPCSTR lpCmdLine,   // строка с именем программы
    UINT uCmdShow   // вид вывода на экран в смысле
            //скрытая или нормальная и так далее
);
Запуск калькулятора:

C++
1
2
3
4
5
6
7
#include "windows.h"
#include "iostream.h"
 
void main()
{
    cout << WinExec("c:\\windows\\system32\calc.exe",SW_SHOW) << endl;
}
Эта функция реализованна только для совместимости с Win 16 приложениями, а приложения Win 32 должны реализовывать данную возможность через CreateProcess.

Результатом этой функции может быть несколько кодов, но если код возврата больше 31, то функция выполнена успешно. Вот некоторые коды:

ERROR_BAD_FORMAT формат exe файла неверен
ERROR_FILE_NOT_FOUND файл не найден
ERROR_PATH_NOT_FOUND путь не найден

На данный момент это основная функция запуска процесса, все остальные функции такие как WinExec и LoadModule оставлены для совместимости и используют CreateProcess.

Описание

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
BOOL CreateProcess
(
    LPCTSTR lpApplicationName,                 // имя исполняемого модуля
    LPTSTR lpCommandLine,                      // Командная строка
    LPSECURITY_ATTRIBUTES lpProcessAttributes, // Указатель на структуру SECURITY_ATTRIBUTES
    LPSECURITY_ATTRIBUTES lpThreadAttributes,  // Указатель на структуру SECURITY_ATTRIBUTES
    BOOL bInheritHandles,                      // Флаг наследования текущего процесса
    DWORD dwCreationFlags,                     // Флаги способов создания процесса
    LPVOID lpEnvironment,                      // Указатель на блок среды
    LPCTSTR lpCurrentDirectory,                // Текущий диск или каталог
    LPSTARTUPINFO lpStartupInfo,               // Указатель нас структуру STARTUPINFO
    LPPROCESS_INFORMATION lpProcessInformation // Указатель нас структуру PROCESS_INFORMATION 
);
lpApplicationName. Указатель на строку которая заканчивается нулем и содержит имя выполняемого модуля. Этот параметр может быть NULL тогда имя модуля должно быть в lpCommandLine самым первым элементом. Если операционная система NT и модуль 16 разрядов этот параметр NULL обязательно. имя модуля может быть абсолютным или относительным. Если относительное то будет использована информация из lpCurrentDirectory или текущий каталог.

lpCommandLine.Командная строка. Здесь передаются параметры. Она может быть NULL. Здесь можно указать и путь и имя модуля.

lpProcessAttributes.Здесь определяются атрибуты защиты для нового приложения. Если указать NULL то система сделает это по умолчанию.

lpThreadAttributes. Здесь определяются атрибуты защиты для первого потока созданного приложением. NULL опять приводит к установке по умолчанию.

bInheritHandles. Флаг наследования от процесса производящего запуск. Здесь наследуются дескрипторы. Унаследованные дескрипторы имеют те же значения и права доступа, что и оригиналы.

dwCreationFlags. Флаг способа создание процесса и его приоритет.

CREATE_DEFAULT_ERROR_MODE Новый процесс не наследует режим ошибок (error mode) вызывающего процесса.
CREATE_NEW_CONSOLE Новый процесс получает новую консоль вместо того, чтобы унаследовать родительскую.
CREATE_NEW_PROCESS_GROUP Создаваемый процесс - корневой процесс новой группы.
CREATE_SEPARATE_WOW_VDM только Windows NT: Если этот флаг установлен, новый процесс запускается
в собственной Virtual DOS Machine (VDM).
CREATE_SHARED_WOW_VDM только Windows NT: Этот флаг указывает функции CreateProcess запустит
новый процесс в разделяемой Virtual DOS Machine.
CREATE_SUSPENDED Первичная нить процесса создается в спящем (suspended) состоянии
и не выполняется до вызова функции ResumeThread.
CREATE_UNICODE_ENVIRONMENT Если этот флаг установлен, блок переменных окружения, указанный в
параметре lpEnvironment, использует кодировку Unicode. Иначе - кодировку ANSI.
DEBUG_PROCESS Если этот флаг установлен, вызывающий процесс считается отладчиком,
а новый процесс - отлаживаемым.
DEBUG_ONLY_THIS_PROCESS Если этот флаг не установлен и вызывающий процесс находится под отладкой,
новый процесс так же становится отлаживаемым тем же отладчиком.
DETACHED_PROCESS Создаваемый процесс не имеет доступа к родительской консоли.
Этот флаг нельзя использовать с флагом CREATE_NEW_CONSOLE.
HIGH_PRIORITY_CLASS Указывает на то, что процесс выполняет критичные по времени задачи
IDLE_PRIORITY_CLASS Указывает процесс, выполняются только когда система находится в состоянии ожидания
NORMAL_PRIORITY_CLASS Указывает на процесс, без каких либо специальных требований к выполнению.
REALTIME_PRIORITY_CLASS Указывает процесс имеющий наивысший возможный приоритет.
lpEnvironment. Указывает на блок среды. Если NULL, то будет использован блок среды родительского процесса. Блок среды это список переменных имя=значение в виде строк с нулевым окончанием.

lpCurrentDirectory.Указывает текущий диск и каталог. Если NULL то будет использован диск и каталог процесса родителя.

lpStartupInfo Используется для настройки свойств процесса, например расположения окон и заголовок. Структура должна быть правильно инициализирована

STARTUPINFO sti; // структура
ZeroMemory(&sti,sizeof(STARTUPINFO)); // обнулить
sti.cb=sizeof(STARTUPINFO); // указать размер
lpProcessInformation Структура PROCESS_INFORMATION с информацией о процессе. Будет заполнена Windows.

В результате выполнение функций вернет FALSE или TRUE. В случае успеха TRUE. Пример использования.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "windows.h"
#include "iostream.h"
 
void main()
{
    STARTUPINFO cif;
    ZeroMemory(&cif,sizeof(STARTUPINFO));
    PROCESS_INFORMATION pi;
    if (CreateProcess("c:\\windows\\notepad.exe",NULL,
        NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE)
    {
        cout << "process" << endl;
        cout << "handle " << pi.hProcess << endl;
        Sleep(1000);                // подождать
        TerminateProcess(pi.hProcess,NO_ERROR); // убрать процесс
    }
}
Добавлено через 3 минуты 50 секунд
Короче IT-Skyline если у тебя екзешники скайпа разных версий имеют разное название или имеют различные пути запуска тупо набей в проге

C++
1
CreateProcess("x-versionSkypePath",NULL ,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)
x-versionSkypePath - путь к нужной экзэхе
2
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
30.01.2009, 13:06  [ТС]
Нет. Не запускаетя копия если просто запустить ехе
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2009, 13:06
Помогаю со студенческими работами здесь

Запуск и завершение процессов Skype
Сейчас знакомый поделился проблемой: при старте винды у него запускается 2 программы Skype - одна активная, другая - ожидающая входа. Это...

Запуск/звонок skype при нажатии на картинку
Добрый день. Есть ли возможность такого рода: при нажатии на картинку запускается скайп на компьютере пользователя или же сразу...

Не удаётся найти Skype.exe при запуске Skype
При запуске Skype Винда выдаёт ошибку: &quot;Не удаётся найти C:\Program Files\Skype\Phone\Skype.exe&quot; Недавно устанавливал TuneUp, может это...

Автоматический запуск/запуск с клавиатуры или ПК живет своей жизнью =)
Всем привет и с наступающим! У меня такая беда, которая случилась где-то месяца 2 назад: Компьютер стал автоматически загружаться. То...

Запуск в батнике - команды на запуск файла (из консоли с правами администратора)
Добрый день, форумчане. Помогите решить вопрос. Существует файл, которого нужно часто запускать с определенной командой - из...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru