есть модуль, как можно сделать вывод в csv\xls по типу как на скриншоте
WriteFile(hLogFile, "--Packet begin--\r\n", 18, &dwWritten, 0);
if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_OPTION_LOG_TARGET_IP) == TRUE) {
IN_ADDR ia;
ia.s_addr = hdr->iph_dest;
CHAR *pszTargetIP = inet_ntoa(ia);
WriteFile(hLogFile, "To: ", 4, &dwWritten, 0);
WriteFile(hLogFile, pszTargetIP, lstrlen(pszTargetIP), &dwWritten, 0);
WriteFile(hLogFile, "\r\n", 2, &dwWritten, 0);
}
if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_OPTION_LOG_SENDER_IP) == TRUE) {
IN_ADDR ia;
ia.s_addr = hdr->iph_src;
CHAR *pszSourceIP = inet_ntoa(ia);
WriteFile(hLogFile, "From: ", 6, &dwWritten, 0);
WriteFile(hLogFile, pszSourceIP, lstrlen(pszSourceIP), &dwWritten, 0);
WriteFile(hLogFile, "\r\n", 2, &dwWritten, 0);
}
if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_OPTION_WRITE_PROTO_NAME) == TRUE) {
WriteFile(hLogFile, "Protocol: ", 10, &dwWritten, 0);
switch (hdr->iph_protocol) {
case IPPROTO_IP:
WriteFile(hLogFile, "IP\r\n", 4, &dwWritten, 0);
break;
case IPPROTO_ICMP:
WriteFile(hLogFile, "ICMP\r\n", 6, &dwWritten, 0);
break;
case IPPROTO_IGMP:
WriteFile(hLogFile, "IGMP\r\n", 6, &dwWritten, 0);
break;
case IPPROTO_GGP:
WriteFile(hLogFile, "GGP\r\n", 5, &dwWritten, 0);
break;
case IPPROTO_TCP:
WriteFile(hLogFile, "TCP\r\n", 5, &dwWritten, 0);
break;
case IPPROTO_PUP:
WriteFile(hLogFile, "PUP\r\n", 5, &dwWritten, 0);
break;
case IPPROTO_UDP:
WriteFile(hLogFile, "UDP\r\n", 5, &dwWritten, 0);
break;
case IPPROTO_IDP:
WriteFile(hLogFile, "IDP\r\n", 5, &dwWritten, 0);
break;
case IPPROTO_IPV6:
WriteFile(hLogFile, "IPv6\r\n", 6, &dwWritten, 0);
break;
case IPPROTO_ND:
WriteFile(hLogFile, "ND\r\n", 4, &dwWritten, 0);
break;
case IPPROTO_ICLFXBM:
WriteFile(hLogFile, "ICLFXBM\r\n", 9, &dwWritten, 0);
break;
case IPPROTO_ICMPV6:
WriteFile(hLogFile, "ICMPv6\r\n", 8, &dwWritten, 0);
break;
}
}
if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_OPTION_WRITE_PACKET_LEN) == TRUE) {
CHAR szTemp[17];
WriteFile(hLogFile, "Packet length: ", 15, &dwWritten, 0);
wsprintf(szTemp, "%d\r\n", size);
WriteFile(hLogFile, szTemp, lstrlen(szTemp), &dwWritten, 0);
}
WriteFile(hLogFile, "Contents:\r\n\r\n", 13, &dwWritten, 0);
WriteFile(hLogFile, &btBuffer[sizeof(IPHeader) * 2], size - sizeof(IPHeader) * 2, &dwWritten, 0);
WriteFile(hLogFile, "\r\n--Packet end--\r\n", 18, &dwWritten, 0);
SetDlgItemInt(hwndDlg, IDC_EDIT_LOG_SIZE, GetFileSize(hLogFile, NULL), FALSE);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости