监听端口

#NoEnv
#Persistent
#SingleInstance Force

Menu,Tray,Tip,端口监听
Menu,Tray,Icon,Shell32.dll,19

Port = 1000 ;UDP端口范围1025-32767

AF_INET := 2
PF_INET := AF_INET
SOCK_DGRAM := 2
IPPROTO_UDP := 17
INADDR_ANY := 0
FIONREAD := 0x4004667F
; WSADESCRIPTION_LEN := 256, WSASYS_STATUS_LEN  := 128
WSADATAsize := 388 + (2 * 4) + A_PtrSize + (A_PtrSize - 2)
SOCKADDRsize := 16
OnExit, AppExit

; Init DLL
VarSetCapacity(WSADATA, WSADATAsize, 0)
If (DllCall("Ws2_32.dllWSAStartup", "UShort", 0x0202, "Ptr", &WSADATA, "Int"))
    ErrorMsg("WSAStartup()")
; Socket
RecvSocket := DllCall("Ws2_32.dllsocket", "Int", PF_INET, "Int", SOCK_DGRAM, "Int", IPPROTO_UDP, "UPtr")
If (RecvSocket = 0xFFFFFF)
    ErrorMsg("socket()")
VarSetCapacity(SOCKADDR, SOCKADDRsize, 0)
NumPut(PF_INET, SOCKADDR, 0, "Short")
NumPut(DllCall("Ws2_32.dllhtons", "UShort", Port), SOCKADDR, 2, "UShort")
NumPut(INADDR_ANY, SOCKADDR, 4, "UInt")
  ; Bind
If DllCall("Ws2_32.dllbind", "Ptr", RecvSocket, "Ptr", &SOCKADDR, "Int", SOCKADDRsize, "Int")
    ErrorMsg("bind()")
SetTimer, Recv, 200
Return

Recv:
  VarSetCapacity(Arg, A_PtrSize, 0)
  If DllCall("Ws2_32.dllioctlsocket", "Ptr", RecvSocket, "UInt", FIONREAD, "Ptr", &Arg, "Int")
      ErrorMsg("ioctlsocket()")
  If ((RecvLen := NumGet(Arg, "UInt")) > 0) {
      VarSetCapacity(Buffer, RecvLen, 0)
      VarSetCapacity(FromBuffer, 16, 0)
      FromBufferLen := 16
      Result := DllCall("Ws2_32.dllrecvfrom", "Ptr", RecvSocket, "Ptr", &Buffer, "UInt", RecvLen
              , "UInt", 0, "Ptr", &FromBuffer, "IntP", FromBufferLen, "Int")
      ;ToolTip, %Result% ; add this line please
      If (Result = -1)
          ErrorMsg("recvfrom()")
      FromIP := ""
      Received := ""
      Received := StrGet(&Buffer, RecvLen, "CP0")
      If (StrLen(Received) = -128)
          Len := 2
      Else If (Int = -32768)
          Len := 4
      Else If (Int = -2147483648)
          Len := 8
      Else
          Len := 16
  Else If Typ Is Integer
      Len := Typ
  Else If !(Len := Types[Typ])
      Return ""
  VarSetCapacity(Hex, 17 

给TA捐赠
共{{data.count}}人
人已捐赠
其他

百度边下边播_屏蔽左右方向键

2020-3-9 4:26:44

其他

监视探测检测窗口窗体

2020-3-9 4:28:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索