Показать сообщение отдельно

  #7  
Старый 14.11.2008, 00:45
xismyname
Познающий
Регистрация: 07.09.2008
Сообщений: 79
Провел на форуме:
272452

Репутация: 10
По умолчанию

Цитата:
Сообщение от agrofyl2  
Кожу я на С++, хочу написать своего мини-трояна, появилось пару вопросов:
1. Как получить свой IP.
2. Как можно получить имена всех подключенных дисков.

Система Windows.

Помогите пожалуйста.

---
И еще вспомнил:

3. Как удалить ключ реестра.

Код:
/* Заголовочный файл winsock2.h используеться для
 * Виндовс систем, на Линукс дистрибутивах
 * используют заголовочные файлы
 *  -> <arpa/net.h>
 *  -> <netinet/in.h>
 *  -> <sys/socket.h>
 *
*/ 
#include <winsock2.h>
#include <stdio.h>

int main(void)
{
        /* WSADATA структура для содержании информации 
         * о winsock,используеться только для виндовс */
	WSADATA wsd; 
	struct hostent *host;
	struct in_addr addr;
	char name[32];
	unsigned int buffsize = strlen(name);

	/* Для того чтобы работать с winsock ты должен
         * ее загрузить с помощью функции WSAStartup() */
	if(WSAStartup(MAKEWORD(2,2),&wsd) == 0)
	{
		GetComputerNameA(name,&buffsize);
		host = gethostbyname(name);

		if(host != NULL)
		{
			memcpy(&addr,host->h_addr_list[0],sizeof(host->h_addr_list[0]));
			printf("Your IP address is %s\n",inet_ntoa(addr));
		}
	}
}
Вот исходной код написанный на C,должен работать в любом C++ компиляторе,в Microsoft Visual C++ приходиться подключить библиотеку ws2_32.lib,хотя название этой библиотеки точно не помню.
 
Ответить с цитированием