Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.
Подключен ли компьютер к интернету
A: (SUnteXx)
Оригинальная ссылка: нету

Вариант 1

Существует много способов определения, в сети ли компьютер (имеется в виду не сеть, в которой 220 вольт, а net, в данном случае Internet). Некоторые способы, такие как пингование какого-нибудь IP'шника очень опасны, имхо, по нескольким причинам. Во-первых, если человек не в сети, то высветиться табличка, что "некто пытается соединиться с серваком таким-то, не хотите соединиться (Да/нет)". Можно, конечно, пинговать сайт Microsoft'а и свалить все на вынды, но надо ли это, если есть другие способы.

Правильность работы функции не гарантирую, но работать должно (много не тестил эту функцию).
#include <windows.h>
 
 #include <wininet.h>
 
 #include <stdio.h>
 
 #include <conio.h>
 
 
 
 typedef BOOL (WINAPI* INETCHECKPROC) (LPDWORD lpdwFlags, DWORD dwReserved);
 
 
 
 bool GetStatusConnect()
 
 // возвращает 1, если комп подключен к интеренту, в противном случае - 0
 
 {
 
     bool bRetVal;
 
     HINSTANCE hLib = NULL;
 
     INETCHECKPROC pfnInternetGetConnectedState;
 
 
 
 // грузим (в смысле загружаем) библиотеку wininet.dll
 
     hLib = LoadLibrary("wininet.dll");
 
     if (!hLib) // если не получилось загрузить библиотеку, то
 
         return 0; // возвращаем 0
 
 
 
 
 
 // получаем адрес функции InternetGetConnectedState
 
     pfnInternetGetConnectedState = (INETCHECKPROC)GetProcAddress(hLib, "InternetGetConnectedState");
 
 
 
 // Если не удалось получить адрес функции
 
     if(!pfnInternetGetConnectedState)
 
         return false; // возвращаем 0
 
 
 
     DWORD lpdwFlags;
 
 
 
 // проверяем соединение
 
     bRetVal = pfnInternetGetConnectedState(&lpdwFlags, 0) != 0;
 
 
 
     FreeLibrary(hLib); // выгружаем библиотеку
 
     return bRetVal; // возвращаем статус подключения
 
 }
 
 
 
 void main(void)
 
 {
 
     printf(GetStatusConnect()?"Connected":"Disconnected"); // выводим статус соединения
 
     printf("\r\nPress any key to continue"); // просим юзверя нажать "any key" на клавиатуре
 
     while(!_getch()); // ждем нажатия кнопки
 
     return; // выходим
 
 }



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS