精易论坛

标题: 进程_端口取PID 错误 [打印本页]

作者: 可移动磁盘ZH    时间: 2020-1-3 14:17
标题: 进程_端口取PID 错误
在使用 进程_端口取PID时 调试程序 程序有时正常,有时直接退出,有时卡住。


然后我去精易模块的源码提取了这部分的源代码单独执行。


有时候会卡在进程_端口取PID子程序的 卡住不动
局_ret = GetExtendedTcpTable (MIB_TCPTABLE_OWNER_PID, 局_pdwSize, 真, #AF_INET, #TCP_TABLE_OWNER_PID_ALL, 0)


有时候卡在 整数到端口 子程序 直接异常关闭
局_Bin = 到字节集 (Port)

纳闷儿 第一个涉及api的卡住不动还能理解。 第二个怎么到字节集都能异常关闭程序


使用环境
windows10最新版。
进程_端口取PID 参数是 5037
5037是安卓的adb端口。 电脑同时运行了 奇兔刷机和线刷宝





作者: 可移动磁盘ZH    时间: 2020-1-3 14:17
如果需要我远程调试可以回帖联系
作者: 项目部004    时间: 2020-1-3 15:39

@DeHby 请先给看看,谢谢!
作者: DeHby    时间: 2020-1-3 18:43
项目部004 发表于 2020-1-3 15:39
@DeHby 请先给看看,谢谢!

代码来自互联网   我没法提供有效的解决方案
个人解决方法:
异常捕捉看看  API 是否重复命名等
作者: 可移动磁盘ZH    时间: 2020-1-3 23:36
DeHby 发表于 2020-1-3 18:43
代码来自互联网   我没法提供有效的解决方案
个人解决方法:
异常捕捉看看  API 是否重复命名等

大哥 是不是忘了贴代码了。。 麻烦加上代码谢谢
作者: 冰焱    时间: 2020-1-14 18:58
谢谢楼主的分享,好人一生平安
作者: 大司命    时间: 2021-4-15 15:55

日常帮模块修复轮子~

  
子程序名返回值类型公开备 注
进程_端口取PID整数型 通过本地端口取出进程PID
参数名类 型参考可空数组备 注
端口号整数型
变量名类 型静态数组备 注
dwSize整数型 
pTcpTable整数型 
dwNumEntries整数型 
tableMIB_TCPROW_OWNER_PID 
dwRet整数型 
i整数型 
GetExtendedTcpTable ( #NULL, dwSize, 真, #AF_INET, #TCP_TABLE_OWNER_PID_ALL, 0)
如果真 (dwSize = 0)
返回 (0)
pTcpTable = malloc (dwSize)
dwRet = GetExtendedTcpTable (pTcpTable, dwSize, 真, #AF_INET, #TCP_TABLE_OWNER_PID_ALL, 0)
如果真 (dwRet = #NO_ERROR )
dwNumEntries = __get (pTcpTable, 0)  ' 开头4个字节是 MIB_TCPROW_OWNER_PID 结构的数量
计次循环首 (dwNumEntries, i)
memcpy (取 数 据 _通用型 (table), pTcpTable + 4 ��� (i - 1) × 24, 24)
如果真 (端口号 = 整数到端口 (table.dwLocalPort))
free (pTcpTable)
返回 (table.dwOwningPid)

计次循环尾 ()
free (pTcpTable)
返回 (0)
子程序名返回值类型公开备 注
进程_PID取端口整数型 通过进程PID取出本地端口
参数名类 型参考可空数组备 注
PID整数型进程ID
变量名类 型静态数组备 注
dwSize整数型 
pTcpTable整数型 
dwNumEntries整数型 
tableMIB_TCPROW_OWNER_PID 
dwRet整数型 
i整数型 
GetExtendedTcpTable ( #NULL, dwSize, 真, #AF_INET, #TCP_TABLE_OWNER_PID_ALL, 0)
如果真 (dwSize = 0)
返回 (0)
pTcpTable = malloc (dwSize)
dwRet = GetExtendedTcpTable (pTcpTable, dwSize, 真, #AF_INET, #TCP_TABLE_OWNER_PID_ALL, 0)
如果真 (dwRet = #NO_ERROR )
dwNumEntries = __get (pTcpTable, 0)  ' 开头4个字节是 MIB_TCPROW_OWNER_PID 结构的数量
计次循环首 (dwNumEntries, i)
memcpy (取 数 据 _通用型 (table), pTcpTable + 4 ��� (i - 1) × 24, 24)
如果真 (PID = table.dwOwningPid)
free (pTcpTable)
返回 (整数到端口 (table.dwLocalPort))

计次循环尾 ()
free (pTcpTable)
返回 (0)
子程序名返回值类型公开备 注
整数到端口整数型 ntohs
参数名类 型参考可空数组备 注
Port整数型
返回 (位或 (右移 (位与 (Port, 65280), 8), 左移 (位与 (Port, 255), 8)))

作者: 红豆生南国    时间: 2021-4-17 14:04
大司命 发表于 2021-4-15 15:55
日常帮模块修复轮子~

[e=5].版本 2

错误(10044): 不能将“整数型”数据转换到“MIB_TCPTABLE_OWNER_PID”数据。
作者: 1001    时间: 2022-11-2 03:54
大司命 发表于 2021-4-15 15:55
日常帮模块修复轮子~

[e=5].版本 2

缺少dll命令




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4