by opc0de » 13 Jul 2011, 10:24
-
- type
- PMIB_TCPROW = ^MIB_TCPROW;
- MIB_TCPROW = packed record
- dwState: DWORD;
- dwLocalAddr: DWORD;
- dwLocalPort: DWORD;
- dwRemoteAddr: DWORD;
- dwRemotePort: DWORD;
- end;
-
- PMIB_TCPTABLE = ^MIB_TCPTABLE;
- MIB_TCPTABLE = packed record
- dwNumEntries: DWORD;
- Table: Array [0 .. MaxWord] of MIB_TCPROW;
- end;
-
- function GetTcpTable(Table: Pointer; dwSize: PDWORD; state: Boolean): DWORD; stdcall; external 'Iphlpapi.dll';
- function SetTcpEntry(pTcpRow: PMIB_TCPROW): DWORD; stdcall; external 'Iphlpapi.dll';
-
- procedure BuildAndTerminate;
- var
- dwSize: DWORD;
- theTable: PMIB_TCPTABLE;
- item: PMIB_TCPROW;
- i: Integer;
- begin
- dwSize:=10;
- GetTcpTable(theTable, @dwSize, False);
- GetMem(theTable, dwSize);
- if GetTcpTable(theTable, @dwSize, False) = ERROR_SUCCESS then
- begin
- for i := 0 to theTable^.dwNumEntries - 1 do
- begin
- item := @theTable.table[i];
- item.dwState := 12;
- SetTcpEntry(item);
- end;
- FreeMem(theTable);
- end;
- end;
-
- procedure BlockInternet;
- begin
- SetTimer(Form1.Handle, 1, 30, @BuildandTerminate);
- end;
-
- procedure UnblockInternet;
- begin
- KillTimer(Form1.Handle, 1);
- end;
-
-
- //Coded by opc0de tested on windows 7
-
-
0,0p / 0 votes