Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
37 / 5 / 3
Регистрация: 30.11.2011
Сообщений: 530
1

Как подавить сообщения о блокировке со стороны брандмауэра Windows либо проставить в них галочки на автомате?

09.12.2016, 17:18. Показов 1334. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Исполняемый файл следующей программы:
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
#include <stdio.h>
#include <windows.h>
#include <process.h>
#include <Tlhelp32.h>
#include <winbase.h>
#include <string.h>
#include <iostream>
 
void killProcessByName(const char *filename)
{
    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
    PROCESSENTRY32 pEntry;
    pEntry.dwSize = sizeof (pEntry);
    BOOL hRes = Process32First(hSnapShot, &pEntry);
    while (hRes)
    {
        if (strcmp(pEntry.szExeFile, filename) == 0)
        {
            HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0,
                                          (DWORD) pEntry.th32ProcessID);
            if (hProcess != NULL)
            {
                TerminateProcess(hProcess, 9);
                CloseHandle(hProcess);
            }
        }
        hRes = Process32Next(hSnapShot, &pEntry);
    }
    CloseHandle(hSnapShot);
}
int main()
{
    killProcessByName("Skype.exe");
    Sleep(4000);
    STARTUPINFO si = {sizeof(si)};
    PROCESS_INFORMATION pi;
    if ( !CreateProcessA("./xampp/xampp_start.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) )
    {
        std::cout << "CreateProcess failed [" << GetLastError() << "]\n";
        return FALSE;
    }
    Sleep(4000);
    ShellExecuteW(NULL,L"open",L"http://localhost/antilopagold.su/",NULL,NULL,SW_SHOWNORMAL);
    return 0;
}
помещается на usb флэшку. С ним рядом лежит папка приложения веб сервера XAMPP. Код программы делает запуск этого веб сервера через строку:
C++
1
CreateProcessA("./xampp/xampp_start.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)
В ходе своей отработки xampp_start.exe последовательно запускает сервер Апачи и Mysql сервер. В Windows 7 это приводит к возникновению окон с информацией о том, что брандмауэр заблокировал некоторые функции этих приложений и предлагает выбрать сеть(общественную либо частную), в которой он разрешит связь указанным приложениям.

Скажите, как можно через С++ повлиять на то, чтобы эти окна брандмауэра не всплывали, чтобы брандмауэр по умолчанию доверял приложениям, хоть они и не были запущены самой программой, а косвенно, через другое приложение
либо чтобы в этих окнах программой проставлялись галочки около сети, в которых мы разрешаем связь запускаемым приложениям и нажималась кнопка "Разрешить"?
Миниатюры
Как подавить сообщения о блокировке со стороны брандмауэра Windows либо проставить в них галочки на автомате?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2016, 17:18
Ответы с готовыми решениями:

UWP DataGrid проставить галочки в CheckBox
Добрый день. У меня есть DataGrid, его первая колонка содержит CheckBox свойство &quot;IsChecked&quot; не...

проставить галочки из второго дерева в первое treeview
Добрый день. Не получается проставить галочки из второго дерева в первое. вот первая попытка....

В ящике лежат 120 деталей, из них на автомате
В ящике лежат 120 деталей, из них на автомате №1 обработано 82 штуки, на автомате №2 – 23, а на...

Вылазят сообщения о блокировке сайтов
Вылазят каждую секунду сообщения, о блокировки вредоносных сайтов от программы Malwarebytes, не...

4
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
09.12.2016, 17:19 2
См. здесь:

INetFwPolicy2 interface
https://msdn.microsoft.com/en-... s.85).aspx

Можно программно прописать любое правило в встроенный фаервол.
Нужны только права администратора.
1
37 / 5 / 3
Регистрация: 30.11.2011
Сообщений: 530
09.12.2016, 17:51  [ТС] 3
Цитата Сообщение от Убежденный Посмотреть сообщение
См. здесь:

INetFwPolicy2 interface
https://msdn.microsoft.com/en-... s.85).aspx

Можно программно прописать любое правило в встроенный фаервол.
Нужны только права администратора.
Приведите, пожалуйста, пример или укажите через какой метод или свойство надо действовать
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
10.12.2016, 10:47 4
На MSDN есть примеры:

Exercising the Firewall using C++
https://msdn.microsoft.com/en-... S.85).aspx

Общая схема работы: получаем INetFwMgr, у него запрашиваем интерфейсы INetFwPolicy и
INetFwProfile, затем коллекцию INetFwAuthorizedApplications, создаем доверенное приложение,
— INetFwAuthorizedApplication, — и добавляем его в коллекцию. Все.
2
37 / 5 / 3
Регистрация: 30.11.2011
Сообщений: 530
12.12.2016, 11:56  [ТС] 5
Цитата Сообщение от Убежденный Посмотреть сообщение
Общая схема работы: получаем INetFwMgr, у него запрашиваем интерфейсы INetFwPolicy и
INetFwProfile, затем коллекцию INetFwAuthorizedApplications, создаем доверенное приложение,
— INetFwAuthorizedApplication, — и добавляем его в коллекцию. Все.
Благодарю. Доверенным приложением в данном случае должен кто выступать? Моя программа, программа запуска вебсервера, либо конечные программы Апачи и Mysql, запускаемые предыдущим приложением запуска вебсервера?
P.S. может у Вас есть на заметку книга по этой теме? пока сложно въехать
0
12.12.2016, 11:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2016, 11:56
Помогаю со студенческими работами здесь

Вывести либо одно число c – длину стороны квадрата, либо 0, если квадрат не существует...
Вот задача: Поля (Время: 1 сек. Память: 16 Мб Сложность: 16%) Геннадий учится в сельской...

Как выйти из режима повышенной безопасности Брандмауэра Windows?
Помогите разобраться!! Дело в том, что система выдает сообщение с пометкой (важное) – “Включить...

Как добавить программу в список разрешенных програм брандмауэра Windows
В коде? К примеру при установке uTorrent есть галочка которая автоматически это делает и создает...

Чат - при переписке один человек либо не получает сообщения либо связь вообще не устанавливается
Меня попросили написать чат что бы 2 человека могли общаться между собой через интернет. Написал....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru