vc中如何获取ie的地址和端口号

解决方案 »

  1.   

    这个貌似没有什么简便的方法哈,我只晓得360safe, IceSword之类的可以看到进程打开的端口.期待高手出现~
      

  2.   

    使用AllocateAndGetTcpExTableFromStack和AllocateAndGetUdpExTableFromStack
    函数使用到的结构中就有相应的信息。
    typedef struct
            {
            DWORD  dwState;                // 连接状态
              DWORD  dwLocalAddr;            // 本地地址
              DWORD  dwLocalPort;            // 本地端口
              DWORD  dwRemoteAddr;          // 远程地址
              DWORD  dwRemotePort;          // 远程端口
              DWORD  dwProcessId;                // 进程ID号
            } MIB_TCPEXROW, *PMIB_TCPEXROW; 
      

  3.   

    DWORD dwSize = 0;
    ::GetExtendedTcpTable(NULL, &dwSize, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL , 0);
    if (m_dwSizeTCP < dwSize)
    {
    delete[] m_psTcpTable;
    m_psTcpTable = (MIB_TCPTABLE_OWNER_PID*)new BYTE[dwSize];
    m_dwSizeTCP =  dwSize;
    }
    DWORD dwRes = ::GetExtendedTcpTable(m_psTcpTable, &dwSize, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL , 0);
    if (dwRes == NO_ERROR)
    {
    ...
    }然后比较结构体里的processid