开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 9789|回复: 46
打印 上一主题 下一主题
收起左侧

[易源码分享] JAVA版易语言工具包【更新啦】

[复制链接]
结帖率:50% (1/2)
跳转到指定楼层
楼主
发表于 2021-10-3 11:00:36 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   福建省泉州市
本帖最后由 失败D宏 于 2021-10-3 22:56 编辑

https://gitee.com/SnailcatMall/scmJnaApi

JAVA辅助模块.zip (1.57 MB, 下载次数: 83)




根据广大网友的要求,正规代码写法  中文改英文!!  重新封装了!


  1. <h1>JAVA 基于JNA SDK1.8 Win32 API 调用库</h1>
  2. <h3>我们的宗旨是:让JAVA更加便捷高效的开发窗体</h3>
  3. <h3>易语言代码转JAVA</h3>
  4. <h3>模块引用基于火山语言库</h3>
  5. <hr>
  6. <h1>更新日志表</h1>

  7. <table>
  8.     <tr>
  9.         <td>更新API函数,重构项目</td>
  10.         <td>2021年10月3日10:45:15</td>
  11.     </tr>
  12.     <tr>
  13.         <td>更新API函数,重构项目</td>
  14.         <td>2021年10月2日10:18:34</td>
  15.     </tr>
  16.     <tr>
  17.         <td>更新API函数,重构项目</td>
  18.         <td>2021年9月25日23:27:18</td>
  19.     </tr>
  20. </table>
  21. <hr>
  22. <h3>API 函数列表</h3>
  23. <h1>进程线程类</h1>
  24. <table  style="font-size: 10px">
  25.     <tr >
  26.         <td>返回值</td>
  27.         <td>调用函数</td>
  28.         <td>参数表</td>
  29.         <td>方法名</td>
  30.     </tr>
  31. </table>
  32. <table  style="font-size: 10px">
  33.     <tr >
  34.         <td>String</td>
  35.         <td>ProcessAndThread.getProcessName(Integer th32ProcessID)</td>
  36.         <td>参数1:进程ID</td>
  37.         <td>进程ID取进程名</td>
  38.     </tr>
  39.     <tr>
  40.         <td>Integer</td>
  41.         <td>ProcessAndThread.getProcessNameToProcessID(String ProcessName)</td>
  42.         <td>参数1:进程名</td>
  43.         <td>进程名取ID</td>
  44.     </tr>
  45.     <tr>
  46.         <td>Integer</td>
  47.         <td>ProcessAndThread.processOpen(Integer dwProcessID)</td>
  48.         <td>参数1:进程ID</td>
  49.         <td>打开进程ID</td>
  50.     </tr>
  51.     <tr>
  52.         <td>boolean</td>
  53.         <td>ProcessAndThread.processClose(Integer dwProcessID)</td>
  54.         <td>参数1:进程句柄</td>
  55.         <td>关闭进程句柄</td>
  56.     </tr>
  57.     <tr>
  58.         <td>boolean</td>
  59.         <td>ProcessAndThread.processOver(Integer dwProcessID)</td>
  60.         <td>参数1:进程ID</td>
  61.         <td>结束进程</td>
  62.     </tr>
  63.     <tr>
  64.         <td>boolean</td>
  65.         <td>ProcessAndThread.processOver(String ProcessName)</td>
  66.         <td>参数1:进程名</td>
  67.         <td>结束进程</td>
  68.     </tr>
  69.     <tr>
  70.         <td>Integer</td>
  71.         <td>ProcessAndThread.getProcessID ()</td>
  72.         <td>参数1:无</td>
  73.         <td>取自身进程ID</td>
  74.     </tr>
  75.     <tr>
  76.         <td>boolean</td>
  77.         <td>ProcessAndThread.whetherProcessThereAre(String ProcessName)</td>
  78.         <td>参数1:进程名</td>
  79.         <td>进程是否存在</td>
  80.     </tr>
  81.     <tr>
  82.         <td>Integer</td>
  83.         <td>ProcessAndThread.processGetWindow(String ProcessName)</td>
  84.         <td>参数1:进程名</td>
  85.         <td>进程名取窗口句柄</td>
  86.     </tr>
  87.     <tr>
  88.         <td>Integer</td>
  89.         <td>ProcessAndThread.processNameGetThreadID(String ProcessName)</td>
  90.         <td>参数1:进程名</td>
  91.         <td>进程名取线程ID</td>
  92.     </tr>
  93.     <tr style="background-color: aliceblue">
  94.         <td>String</td>
  95.         <td>ProcessAndThread.getProcessToPath(String ProcessName)</td>
  96.         <td>参数1:进程名</td>
  97.         <td>取启动进程路径</td>
  98.     </tr>
  99.     <tr>
  100.         <td>Integer</td>
  101.         <td>ProcessAndThread.getModuleHandle(String lpModuleName)</td>
  102.         <td>参数1:模块名 DLL 或 EXE</td>
  103.         <td>取模块句柄</td>
  104.     </tr>
  105.     <tr>
  106.         <td>Integer</td>
  107.         <td>ProcessAndThread.getTopProcessID(String ProcessName)</td>
  108.         <td>参数1:进程名</td>
  109.         <td>进程名取父进程ID</td>
  110.     </tr>
  111.     <tr>
  112.         <td>boolean</td>
  113.         <td>ProcessAndThread.memoryTuning()</td>
  114.         <td>无</td>
  115.         <td>内存优化</td>
  116.     </tr>
  117.     <tr>
  118.         <td>boolean</td>
  119.         <td>ProcessAndThread.processSuspended(String ProcessName,boolean flag)</td>
  120.         <td>参数1:进程名<br/>参数2:<br/>true->暂停<br/>false->释放</td>
  121.         <td>进程暂停</td>
  122.     </tr>
  123.     <tr>
  124.         <td>Integer</td>
  125.         <td>enumThread(String ProcessName,List:THREADENTRY32 threadentry32List)</td>
  126.         <td>参数1:进程名<br/>参数2:返回线程集合</td>
  127.         <td>进程名枚举线程ID</td>
  128.     </tr>
  129.     <tr>
  130.         <td>Integer</td>
  131.         <td>openThreadID(Integer threadID)</td>
  132.         <td>参数1:线程ID<br/></td>
  133.         <td>打开线程</td>
  134.     </tr>
  135.     <tr>
  136.         <td>Integer</td>
  137.         <td>getThreadID()</td>
  138.         <td>无</td>
  139.         <td>取自身线程ID</td>
  140.     </tr>
  141.     <tr>
  142.         <td>Integer</td>
  143.         <td>gethTread()</td>
  144.         <td>无</td>
  145.         <td>取自身线程伪句柄</td>
  146.     </tr>
  147.     <tr>
  148.         <td>Integer</td>
  149.         <td>threadConsumption(Integer hTread)</td>
  150.         <td>参数1:线程句柄</td>
  151.         <td>线程销毁</td>
  152.     </tr>
  153.     <tr>
  154.         <td>Integer</td>
  155.         <td>threadSuspended(Integer hTread,boolean flag)</td>
  156.         <td>参数1:线程句柄<br/>参数2:真挂机-假释放<br/></td>
  157.         <td>线程挂起</td>
  158.     </tr>
  159.     <tr>
  160.         <td>MODULEINFO</td>
  161.         <td>ProcessAndThread.selectModuleInfo(String ProcessName, Integer moduleHandle)</td>
  162.         <td>参数1:进程名<br/>参数2:模块地址</td>
  163.         <td>查询模块信息</td>
  164.     </tr>
  165.     <tr>
  166.         <td>boolean</td>
  167.         <td>ProcessAndThread.elevatePrivileges(String ProcessName,Integer TokenIndex)</td>
  168.         <td>参数1:进程名<br/>参数2:权限选择</td>
  169.         <td>提升权限</td>
  170.     </tr>
  171. </table>
  172. <h1>内存操作类</h1>
  173. <table  style="font-size: 10px">
  174.     <tr >
  175.         <td>返回值</td>
  176.         <td>调用函数</td>
  177.         <td>参数表</td>
  178.         <td>方法名</td>
  179.     </tr>
  180. </table>
  181. <table  style="font-size: 10px">
  182.     <tr>
  183.         <td>Integer</td>
  184.         <td>ProcessAndThread.createMemoryZero(String ProcessName,long dwSize)</td>
  185.         <td>参数1:进程名<br/>参数2:长度</td>
  186.         <td>创建申请内存</td>
  187.     </tr>
  188.     <tr>
  189.         <td>Integer</td>
  190.         <td>ProcessAndThread.releaseMemoryZero(String ProcessName,Integer address)</td>
  191.         <td>参数1:进程名<br/>参数2:内存地址</td>
  192.         <td>释放申请内存</td>
  193.     </tr>
  194.     <tr>
  195.         <td>boolean</td>
  196.         <td>ProcessAndThread.memoryAddressIsValid(String ProcessName,Integer address)</td>
  197.         <td>参数1:进程名<br/>参数2:内存地址</td>
  198.         <td>内存地址是否有效</td>
  199.     </tr>
  200.     <tr>
  201.         <td>boolean</td>
  202.         <td>ProcessAndThread.memoryAddressIsStatic(String ProcessName,Integer address)</td>
  203.         <td>参数1:进程名<br/>参数2:内存地址</td>
  204.         <td>内存地址是否为静态地址</td>
  205.     </tr>
  206.     <tr>
  207.         <td>boolean</td>
  208.         <td>ProcessAndThread.memoryAddressIsBaseAddress(String ProcessName,Integer address)</td>
  209.         <td>参数1:进程名<br/>参数2:内存地址</td>
  210.         <td>内存地址是否为基地址</td>
  211.     </tr>
  212.     <tr>
  213.         <td>PMEMORY_BASIC_INFORMATION</td>
  214.         <td>ProcessAndThread.selectMemoryAddressAttribute(String ProcessName,Integer address)</td>
  215.         <td>参数1:进程名<br/>参数2:内存地址</td>
  216.         <td>查询内存保护</td>
  217.     </tr>
  218.     <tr>
  219.         <td>Integer</td>
  220.         <td>ProcessAndThread.updateMemoryAddressAttribute(String ProcessName, Integer address,Integer attribute, Integer dwSize)</td>
  221.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:属性<br/>参数4:长度</td>
  222.         <td>修改内存保护</td>
  223.     </tr>
  224.     <tr>
  225.         <td>short</td>
  226.         <td>ProcessAndThread.ReadProcessMemoryShort(String ProcessName, Integer address)</td>
  227.         <td>参数1:进程名<br/>参数2:内存地址</td>
  228.         <td>内存读短整数</td>
  229.     </tr>
  230.     <tr>
  231.         <td>float</td>
  232.         <td>ProcessAndThread.ReadProcessMemoryFloat(String ProcessName, Integer address)</td>
  233.         <td>参数1:进程名<br/>参数2:内存地址</td>
  234.         <td>内存读小数型</td>
  235.     </tr>
  236.     <tr>
  237.         <td>float</td>
  238.         <td>ProcessAndThread.ReadProcessMemoryDouble(String ProcessName, Integer address)</td>
  239.         <td>参数1:进程名<br/>参数2:内存地址</td>
  240.         <td>内存读双精度型</td>
  241.     </tr>
  242.     <tr>
  243.         <td>Integer</td>
  244.         <td>ProcessAndThread.ReadProcessMemoryInt(String ProcessName, Integer address)</td>
  245.         <td>参数1:进程名<br/>参数2:内存地址</td>
  246.         <td>内存读整数型</td>
  247.     </tr>
  248.     <tr>
  249.         <td>long</td>
  250.         <td>ProcessAndThread.ReadProcessMemoryLong(String ProcessName, Integer address)</td>
  251.         <td>参数1:进程名<br/>参数2:内存地址</td>
  252.         <td>内存读长整数型</td>
  253.     </tr>
  254.     <tr>
  255.         <td>String</td>
  256.         <td>ProcessAndThread.ReadProcessMemoryString(String ProcessName, Integer address,Integer dwSize)</td>
  257.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:文本长度</td>
  258.         <td>内存读文本型</td>
  259.     </tr>
  260.     <tr style="background-color: aliceblue">
  261.         <td>String</td>
  262.         <td>ProcessAndThread.RReadProcessMemoryByteHex(String ProcessName, Integer address,Integer len)</td>
  263.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:返回长度</td>
  264.         <td>内存读字节数组HEX【内存读字节集】</td>
  265.     </tr>
  266.     <tr>
  267.         <td>Integer</td>
  268.         <td>ProcessAndThread.WriteProcessMemoryShort(String ProcessName, Integer address,short lpBuffer)</td>
  269.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据</td>
  270.         <td>内存写短数型</td>
  271.     </tr>
  272.     <tr>
  273.         <td>Integer</td>
  274.         <td>ProcessAndThread.WriteProcessMemoryFloat(String ProcessName, Integer address,float lpBuffer)</td>
  275.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据</td>
  276.         <td>内存写小数型</td>
  277.     </tr>
  278.     <tr>
  279.         <td>Integer</td>
  280.         <td>ProcessAndThread.WriteProcessMemoryDouble(String ProcessName, Integer address,double lpBuffer)</td>
  281.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据</td>
  282.         <td>内存写双精度小数型</td>
  283.     </tr>
  284.     <tr>
  285.         <td>Integer</td>
  286.         <td>ProcessAndThread.WriteProcessMemoryInt(String ProcessName, Integer address,int lpBuffer)</td>
  287.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据</td>
  288.         <td>内存写整型</td>
  289.     </tr>
  290.     <tr>
  291.         <td>Integer</td>
  292.         <td>ProcessAndThread.WriteProcessMemoryLong(String ProcessName, Integer address,long lpBuffer)</td>
  293.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据</td>
  294.         <td>内存写长整型</td>
  295.     </tr>
  296.     <tr>
  297.         <td>Integer</td>
  298.         <td>ProcessAndThread.WriteProcessMemoryString(String ProcessName, Integer address,String lpBuffer)</td>
  299.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据</td>
  300.         <td>内存写文本整型</td>
  301.     </tr>
  302.     <tr>
  303.         <td>Integer</td>
  304.         <td>ProcessAndThread.WriteProcessMemoryHex(String ProcessName, Integer address,String lpBuffer,Integer len)</td>
  305.         <td>参数1:进程名<br/>参数2:内存地址<br/>参数3:写入数据<br/>参数3:长度</td>
  306.         <td>内存写字节数组HEX【内存写字节集】</td>
  307.     </tr>
  308. </table>
  309. <h1>转换操作类</h1>
  310. <table  style="font-size: 10px">
  311.     <tr >
  312.         <td>返回值</td>
  313.         <td>调用函数</td>
  314.         <td>参数表</td>
  315.         <td>方法名</td>
  316.     </tr>
  317. </table>
  318. <table  style="font-size: 10px">
  319.     <tr>
  320.         <td>Integer</td>
  321.         <td>CodeConversion.HexToInt(String content)</td>
  322.         <td>参数1:十六进制文本->009AF51C</td>
  323.         <td>十六进制转十进制</td>
  324.     </tr>
  325.     <tr>
  326.         <td>Integer</td>
  327.         <td>CodeConversion.String IntToHex(Integer n) </td>
  328.         <td>参数1:十进制文本->10155292</td>
  329.         <td>十进制转十六进制</td>
  330.     </tr>
  331. </table>
  332. <h1>模块操作类</h1>
  333. <table  style="font-size: 10px">
  334.     <tr >
  335.         <td>返回值</td>
  336.         <td>调用函数</td>
  337.         <td>参数表</td>
  338.         <td>方法名</td>
  339.     </tr>
  340. </table>
  341. <table  style="font-size: 10px">
  342.     <tr>
  343.         <td>Integer</td>
  344.         <td>ModuleOperation.getDLLFunctionAddress(Integer ModelAddress,String Fun)</td>
  345.         <td>参数1:模块句柄<br/>参数2:函数名<br/></td>
  346.         <td>取库函数地址</td>
  347.     </tr>
  348.     <tr>
  349.         <td>Integer</td>
  350.         <td>ModuleOperation.getLoadDLL(String DLLFile)</td>
  351.         <td>参数1:DLL文件地址</td>
  352.         <td>加载DLL</td>
  353.     </tr>
  354.     <tr>
  355.         <td>Integer</td>
  356.         <td>ModuleOperation.getDLLModelAddressZero(String ModuleName)</td>
  357.         <td>参数1:DLL文件地址</td>
  358.         <td>取DLL模块地址1</td>
  359.     </tr>
  360.     <tr>
  361.         <td>Integer</td>
  362.         <td>ModuleOperation.getDLLModelAddressOne(Integer ModuleName)</td>
  363.         <td>参数1:DLL文件地址</td>
  364.         <td>取DLL模块地址2</td>
  365.     </tr>
  366. </table>
  367. <h1>窗口操作类</h1>
  368. <table  style="font-size: 10px">
  369.     <tr >
  370.         <td>返回值</td>
  371.         <td>调用函数</td>
  372.         <td>参数表</td>
  373.         <td>方法名</td>
  374.     </tr>
  375. </table>
  376. <table  style="font-size: 10px">
  377.     <tr>
  378.         <td>Integer</td>
  379.         <td>WindowOperation.windowTop(Integer hwnd ,boolean flag)</td>
  380.         <td>参数1:窗口句柄<br/>参数2:是否置顶<br/></td>
  381.         <td>窗口置顶</td>
  382.     </tr>
  383.     <tr>
  384.         <td>Integer</td>
  385.         <td>WindowOperation.windowAlpha(Integer hwnd,Integer Alpha,boolean flag)</td>
  386.         <td>参数1:窗口句柄<br/>参数2:透明度<br/>参数3:是否穿透<br/></td>
  387.         <td>窗口透明度</td>
  388.     </tr>
  389.     <tr>
  390.         <td>Integer</td>
  391.         <td>WindowOperation.windowThrough(Integer hwnd, boolean flag)</td>
  392.         <td>参数1:窗口句柄<br/>参数2:是否穿透</td>
  393.         <td>窗口穿透</td>
  394.     </tr>
  395.     <tr>
  396.         <td>Integer</td>
  397.         <td>WindowOperation.windowMaxTop(Integer hwnd,boolean flag)</td>
  398.         <td>参数1:窗口句柄<br/>参数2:是否置顶</td>
  399.         <td>总在最前</td>
  400.     </tr>
  401.     <tr>
  402.         <td>Integer</td>
  403.         <td>WindowOperation.windowFocus(Integer hwnd)</td>
  404.         <td>参数1:窗口句柄<br/></td>
  405.         <td>窗口焦点</td>
  406.     </tr>
  407.     <tr>
  408.         <td>Integer</td>
  409.         <td>WindowOperation.windowMin(Integer hwnd)</td>
  410.         <td>参数1:窗口句柄<br/></td>
  411.         <td>窗口最小化</td>
  412.     </tr>
  413.     <tr>
  414.         <td>Integer</td>
  415.         <td>WindowOperation.windowMax(Integer hwnd)</td>
  416.         <td>参数1:窗口句柄<br/></td>
  417.         <td>窗口最大化</td>
  418.     </tr>
  419.     <tr>
  420.         <td>Integer</td>
  421.         <td>WindowOperation.windowIsMin(Integer hwnd)</td>
  422.         <td>参数1:窗口句柄<br/></td>
  423.         <td>是否最小化</td>
  424.     </tr>
  425. </table>
复制代码

我还陆续更新 :希望版主不要锁帖!!!















QQ截图20211003105927.jpg (119.33 KB, 下载次数: 2)

QQ截图20211003105927.jpg

评分

参与人数 2好评 +1 精币 +4 收起 理由
肃然 + 1 + 2 支持开源~!感谢分享
dych1688 + 2 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

47
发表于 2024-5-28 22:27:45 高大上手机用户 | 只看该作者   福建省福州市
支持来源!!
回复 支持 反对

使用道具 举报

46
发表于 2022-11-29 09:03:26 | 只看该作者   湖北省黄冈市
有哪些应用场景呢?
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
45
发表于 2022-1-31 12:12:40 | 只看该作者   河北省沧州市
能把JAVA转易语言那才是多人需要的,易语言转JAVA需要的人不多~实话很鸡肋
回复 支持 反对

使用道具 举报

结帖率:79% (27/34)

签到天数: 17 天

44
发表于 2022-1-31 05:00:56 | 只看该作者   上海市上海市
欢迎常来帮助新人,谢谢~
回复 支持 反对

使用道具 举报

43
发表于 2021-12-23 14:09:29 | 只看该作者   湖南省长沙市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)

签到天数: 13 天

42
发表于 2021-12-13 14:52:34 | 只看该作者   广东省佛山市
支持开源~!感谢分享!!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
41
发表于 2021-11-25 19:46:04 | 只看该作者   四川省成都市
谢谢大佬,同为java开发 对e很有兴趣
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
40
 楼主| 发表于 2021-10-27 13:57:15 高大上手机用户 | 只看该作者   福建省泉州市
飞鸿踏雪 发表于 2021-10-25 17:10
新版无法运行,SCMAPI 已放到C盘下,会报错,上一版本没问题
Exception in thread "main" java.lang.Abstra ...

项目目前还在更新,这些都是测试版
回复 支持 反对

使用道具 举报

39
发表于 2021-10-25 17:10:52 | 只看该作者   上海市上海市
新版无法运行,SCMAPI 已放到C盘下,会报错,上一版本没问题
Exception in thread "main" java.lang.AbstractMethodError: com.sun.jna.Structure.getFieldOrder()Ljava/util/List;
        at com.sun.jna.Structure.fieldOrder(Structure.java:884)
        at com.sun.jna.Structure.getFields(Structure.java:910)
        at com.sun.jna.Structure.deriveLayout(Structure.java:1058)
        at com.sun.jna.Structure.calculateSize(Structure.java:982)
        at com.sun.jna.Structure.calculateSize(Structure.java:949)
        at com.sun.jna.Structure.allocateMemory(Structure.java:375)
        at com.sun.jna.Structure.<init>(Structure.java:184)
        at com.sun.jna.Structure.<init>(Structure.java:172)
        at com.sun.jna.Structure.<init>(Structure.java:159)
        at com.sun.jna.Structure.<init>(Structure.java:151)
        at com.snailcatmall.www.datatype.PROCESSENTRY32.<init>(PROCESSENTRY32.java:5)
        at com.snailcatmall.www.function.ProcessAndThread.getProcessName(ProcessAndThread.java:23)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表