找回密码
 点击注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3056|回复: 8

[高级教程] 关于4.2版本中新插件:UsageMonitor的使用方法

[复制链接]

签到天数: 580 天

[LV.9]以坛为家II

发表于 2018-9-6 20:09:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?点击注册

x
本帖最后由 camusice 于 2020-2-11 22:25 编辑

须知:本教程应算是中级教程。需要了解一定的数据结构。对于刚接触雨滴的人我的建议是不要落下任何一句话的看。教程前半部分介绍了大量铺垫知识,不建议跳过。此外,本教程内容全部是根据官网文档个人理解所制作,没有与任何人探讨,若有错误和不足请指正。欢迎下方提问和探讨。


在更新到 Rainmeter 4.2 之后,本人一直在研究里边的新功能。其中就包括增加的一个新插件——UsageMonitor.dll。按照官方使用手册的说法,其用于与 Windows 性能监视器进行交互,并且官方希望皮肤制作者用其替代原来的 AdvancedCPU.dll 和 PerfMon.dll 插件的功能来升级皮肤。


在以前,AdvancedCPU插件用于测量进程的CPU使用率,比如获取当前占用CPU最高的进程名与使用率等;而PerfMon之前就是用于从Windows 性能监视器中获取数据的插件,可以说是UsageMonitor插件的旧版本,可用于获取比如内存,磁盘使用情况等。而最新的UsageMonitor插件可以从性能监视器中获取任何信息,除了前面两个插件提到的功能外,还有比如网络流量总线情况设备信息系统信息,如果你使用的系统是Win10 1709版本以上,甚至不需要第三方插件还能监测GPU的使用情况显存的使用情况。可以说只要是性能监视器中包含的内容,使用正确相关语法都能获取。此外,相比于PerfMon插件,新插件增加了更多功能,比如设置黑、白名单,简化了计数器的使用方式,效率提高等等。

想要使用好这个听上去很厉害的插件,你需要先知道什么是Windows 性能监视器。这是很重要的事情,只有先了解了Windows 性能监视器的工作方式才能了解UsageMonitor的工作方式,而不了解的话你甚至连这个插件的使用教程都看不懂,哪怕翻译成中文版!本教程不会介绍性能监视器里的每个计数器都是测量什么的,只会介绍其文件结构方便使用插件。想知道自己需要测量的系统信息怎么寻找请自行百度。


那么言归正传,Windows 性能监视器是Windows系统用于监视各种不同类别的系统指标,并跟踪指示其使用情况的一个系统内置应用。你肯定知道任务管理器是什么东西,有些细心的同学还见过资源监视器(注意两个字的差别,资源监视器和性能监视器不是一个东西。)是什么,如下图。不过,这两个程序被红色框圈起来的部分,全部来自Windows性能监视器。


2018-09-06_161040.png


2018-09-06_161142.png

任务管理器


2018-09-06_161320.png

资源监视器


那Windows性能监视器在哪里?按键盘上的Win+R调出运行对话框,直接输入Perfmon.exe就能打开性能监视器了。如图展示。


2018-09-06_163256.png

性能监视器


上图展示的是性能监视器刚打开的样子,其下边展示了一些系统摘要,不同计算机显示的可能不同。图中展示的是这台计算机的内存,网络,磁盘和CPU各线程的使用情况。现在我想看其他的信息怎么办呢?点击左边控制台里边的监视工具里边的性能监视器模块,可以得到下边的结果:


2018-09-06_164324.png

性能监视器


你可以使用更改图形类型来切换显示模式。一共有线条,直方图条和报告三种显示模式。为方便后边讲解,接下来均使用报告模式。


2018-09-06_165037.png

性能监视器报告模式


重点来了:点击工具条上的添加模块,就能打开添加计数器页面,内部囊括了Windows性能监视器的所有计数器及其类别。下面这张图的文字部分务必仔细体会:


2018-09-06_171228.png


点击确定后,就能看到其中的内容添加到主界面上了:


2018-09-06_172440.png


当然,我们也可以在之前添加计数器那里选择<全部实例>,就能看到每个程序占用资源的情况了,需要注意的是:虽然上图展示的实例全是进程名,但是这是在特定的一些计数器中是这样的。实例不等于进程名!不同的计数器中实例种类是不一样的!例如如果计数器是测量磁盘的使用量的,实例可能就是磁盘序号,类似C:,D:;如果计数器是测量每个CPU核心的使用量,实例又变成了0,1,2,3......;如果计数器测量的是每张网卡的流量,实例就是你的网卡型号名称。这么说能明白吗?


看完看了上面的内容,你应该知道了下面这三个概念:计数器计数器的类别计数器的实例。都清楚了,你就能开始学习使用UsageMonitor这个插件了。下面正式介绍UsageMonitor使用方法:


===========================分割线===========================


选项

通用Measure选项

所有的通用Measure选项都是可用的。


Category      默认值:

所需计数器的类别名称。需要区分大小写且必须是性能监视器里含有的名称。

注意:如果定义了Category,则还必须同时定义Counter。
例: Category=Process,Category=PhysicalDisk

Counter      默认值:

计数器名称。需要区分大小写且必须是性能监视器里含有的名称。

注意:如果定义了Counter,则还必须同时定义Category。
例: Counter=%Processor Time,Counter=Bytes Read/sec

Alias      默认值:

本选项提供一些可能最常用的计数器别名,其本质上就是内置在插件里的一些Category和Counter选项的组合。

注意:如果定义了Alias就无需定义Category和Counter了;而如果定义了Category和Counter,本选项就会被忽略。当然,为简化皮肤文件,建议优先使用本选项。

目前支持的别名以及其代表的计数器内容是:

Alias = CPU
等同于:Category = Process | Counter = % Processor Time
表示进程的CPU使用百分率。
Alias = RAM
等同于:Category = Process | Counter = Working Set - Private
表示进程的专用内存占用大小,单位字节。
Alias = RAMSHARED
等同于:Category = Process | Counter = Working Set
表示进程的共享内存占用大小,单位字节。(译者注:共享内存不是虚拟内存哈!)
Alias = IO
等同于:Category = Process | Counter = IO Data Bytes/sec
表示进程在磁盘上的总读写速度,单位字节/秒。
Alias = IOREAD
等同于:Category = Process | Counter = IO Read Bytes/sec
表示进程在磁盘上的读取速度,单位字节/秒。
Alias = IOWRITE
等同于:Category = Process | Counter = IO Write Bytes/sec
表示进程在磁盘上的写入速度,单位字节/秒。
Alias = GPU
等同于:Category = GPU Engine | Counter = Utilization Percentage
表示进程的GPU使用百分率。
注意:需要Windows 10 1709或更高版本。
Alias = VRAM
等同于:Category = GPU Process Memory | Counter = Dedicated Usage
表示进程的GPU专属内存,即显存的占用大小,单位字节。
注意:需要Windows 10 1709或更高版本。
Alias = VRAMSHARED
等同于:Category = GPU Process Memory | Counter = Shared Usage
表示进程的GPU共享内存,即用作显存的内存的占用大小,单位字节。
注意:需要Windows 10 1709或更高版本。

Index      默认值: 0

计数器包含的所有实例将会从最高值到最低值进行汇总和排序。Index会根据此排序返回每个实例的单个数值、总和或者平均值。

Index=0
返回所有实例的数值总和,以及字符串“Total”。这是Index的默认值。
Index=-1
返回所有实例的数值平均值,以及字符串“Average”。
Index=1Index=2等等。
返回排序中相应的实例的数值,以及该实例名称的字符串值。
注意:实例的排序是动态的,实例顺序会发生变化。无论Index定义为何值,如果返回的当前数值结果是 0 的话,字符串会变为空字符串。没有数值的实例不参加排序,也不会存在于此排序列表中,因为插件无法区分开它和其他数值为0的实例的区别。另外,黑名单中的实例也会参加排序。

Name      默认值:

指定特定实例名称。需要区分大小写且必须是性能监视器里含有的名称。

注意:如果定义了Name,则忽略任何Index选项。
例: Name=Rainmeter,Name=chrome,Name=C:

Blacklist      默认值: _Total|Idle

实例黑名单列表。使插件不获取该表中的实例数值。实例名称用 | 字符分隔。需要区分大小写且必须是性能监视器里含有的名称。

注意:在默认情况下黑名单中包含实例名称_Total,和Idle。如果要定义其他名称,请别忘了将这两个名字添加上,因为设置黑名单是替换默认值的行为,不是补充。
例: Blacklist=_Total|Idle|dwm|csrss|svchost|lsass|system|spoolsv

Whitelist      默认值:

实例白名单列表。使插件只获取该表中的实例数值而忽略其他的实例。实例名称用 | 字符分隔。需要区分大小写且必须是性能监视器里含有的名称。

注意:如果定义了白名单,则忽略任何黑名单选项。
例: Whitelist=Rainmeter|firefox|hexchat

Rollup      默认值: 1

有些程序的进程会有多个副本。这个现象对于浏览器类应用程序打开多个网页以及一些Windows内部进程(如explorer,RunTimeBroker或svchost)来说是很常见的。当Rollup设置为默认值1时,会将这些副本汇总到单个进程中一起统计。如果设置为0,则插件对此程序的每个单独的进程分别进行统计:processName#1,processName#2


Percent      默认值: 0

如果你想要获取一个百分数形式的_Total实例但计数器返回的不是百分比数值,就可以将Percent设置为 1。如果计数器没有_Total实例,或者返回值已经是百分数形式了,则它将失效且不应该设置为 1。

注意:当Alias=CPU被使用时,Percent的默认值会自动变为 1。不过如果需要的话你也可以强制手动设置为 0。

RawValue      默认值: 0

设置1为时,这将从性能监视器的数据库中返回原始值,而不是性能监视器中显示的我们能看懂的格式。


PIDToName      默认值: 0

设置1为时,将查找并返回与实例PID字符串值关联的进程名称。

注意:当Alias=GPU,Alias=VRAM或Alias=VRAMSHARED被使用时,PIDToName的默认值会自动变为 1,返回的是进程的GPU相关使用情况。不过如果需要的话你也可以强制手动设置为0,返回的是每个GPU引擎的使用情况。不过其字符串值因为与内存地址有关,可能每次开机都会变更。


关于数值与字符串值的注释

UsageMonitor插件返回的是实例的当前数值以及实例名称的字符串值。这意味着你使用String meter时需要注意了,其MeasureName选项默认获取的是字符串值。

如果你想要展示的是数值,可以在Text选项中使用[MyMeasure:]以显示数字值,且务必同时设置DynamicVariables=1。而且使用此方法,NumOfDecimals或AutoScale这类设置数值的选项无效。如果想要使用NumOfDecimals的功能限制小数点位数,可以直接定义:[MyMeasure:2]将显示带有两位小数的数值。


另一种方案是建立一个Calc Measure来获取UsageMonitor插件的数值。这样NumOfDecimals或AutoScale这类设置数值的选项就都能使用了。


关于出现错误

虽然这种情况很少,但有可能会发生,即:Windows性能监视器的计数器数据库可能会受不可控因素被损坏。这将导致UsageMonitor插件停止正常运行。在这种情况下,可以通过Windows自带的命令行“重建”数据库来解决此问题。

以管理员身份运行cmd.exe,按顺序输入以下命令:

  1. cd C:\Windows\System32
  2. lodctr /R
  3. cd C:\Windows\SysWOW64
  4. lodctr /R
复制代码

如果看到以下结果即为成功。

  1. Info: Successfully rebuilt performance counter setting from system backup store
复制代码

示例

因为单个帖子字数限制,请见下方置顶。

评分

参与人数 1心动值 +1 活跃值 +20 技术值 +1 收起 理由
萝莉头 + 1 + 20 + 1 童鞋我要表扬你( &amp;#65417;^ω^)&amp;#65417;

查看全部评分

回复

使用道具 举报

签到天数: 580 天

[LV.9]以坛为家II

 楼主| 发表于 2018-9-20 11:38:39 | 显示全部楼层
  1. [Rainmeter]
  2. Update=1000
  3. DynamicWindowSize=1
  4. AccurateText=1
  5. SkinWidth=360
  6. BackgroundMode=2
  7. SolidColor=0,0,0,1

  8. [Variables]
  9. Browser=firefox
  10. ;Browser=chrome

  11. [MeasureCPU]
  12. Measure=Plugin
  13. Plugin=UsageMonitor
  14. Alias=CPU
  15. Index=0

  16. [MeasureMyApps]
  17. Measure=Plugin
  18. Plugin=UsageMonitor
  19. Alias=CPU
  20. Index=1
  21. Whitelist=Rainmeter|#Browser#|hexchat|CCleaner64

  22. [MeasureTop1byAlias]
  23. Measure=Plugin
  24. Plugin=UsageMonitor
  25. Alias=CPU
  26. Index=1
  27. Blacklist=_Total|Idle|dwm|wmpnetwk|csrss|svchost|lsass|System|system|Memory Compression|wininit|RemindersServer|spoolsv|IpOverUsbSvc

  28. [MeasureTop1byCounter]
  29. Measure=Plugin
  30. Plugin=UsageMonitor
  31. Category=Process
  32. Counter=% Processor Time
  33. Index=1
  34. Percent=1
  35. Blacklist=_Total|Idle|dwm|wmpnetwk|csrss|svchost|lsass|System|system|Memory Compression|wininit|RemindersServer|spoolsv|IpOverUsbSvc

  36. [MeasureRainmeter]
  37. Measure=Plugin
  38. Plugin=UsageMonitor
  39. Alias=CPU
  40. Name=Rainmeter

  41. [MeasureBrowser]
  42. Measure=Plugin
  43. Plugin=UsageMonitor
  44. Alias=CPU
  45. Name=#Browser#

  46. [TotalThreads]
  47. Measure=Plugin
  48. Plugin=UsageMonitor
  49. Category=System
  50. Counter=Threads
  51. Index=0

  52. [Core0Usage]
  53. Measure=Plugin
  54. Plugin=UsageMonitor
  55. Category=Processor
  56. Counter=% Processor Time
  57. Name=0
  58. MinValue=0
  59. MaxValue=100

  60. [Core1Usage]
  61. Measure=Plugin
  62. Plugin=UsageMonitor
  63. Category=Processor
  64. Counter=% Processor Time
  65. Name=1
  66. MinValue=0
  67. MaxValue=100

  68. [TopGPU]
  69. Measure=Plugin
  70. Plugin=UsageMonitor
  71. Alias=GPU
  72. Index=1
  73. MinValue=0
  74. MaxValue=100
  75. Blacklist=dwm|csrss

  76. [TotalVRAM]
  77. Measure=Plugin
  78. Plugin=UsageMonitor
  79. Alias=VRAM
  80. Index=0
  81. MinValue=0
  82. MaxValue=4831838208

  83. [TotalVRAMScaled]
  84. Measure=Calc
  85. Formula=TotalVRAM

  86. [RainmeterIO]
  87. Measure=Plugin
  88. Plugin=UsageMonitor
  89. Alias=IO
  90. Name=Rainmeter

  91. [RainmeterIOScaled]
  92. Measure=Calc
  93. Formula=RainmeterIO

  94. [TopIORead]
  95. Measure=Plugin
  96. Plugin=UsageMonitor
  97. Alias=IO
  98. Index=1

  99. [TopIOReadScaled]
  100. Measure=Calc
  101. Formula=TopIORead

  102. [BrowserIOWrite]
  103. Measure=Plugin
  104. Plugin=UsageMonitor
  105. Alias=IOWrite
  106. Name=#Browser#

  107. [BrowserIOWriteScaled]
  108. Measure=Calc
  109. Formula=BrowserIOWrite

  110. [BrowserRAM]
  111. Measure=Plugin
  112. Plugin=UsageMonitor
  113. Alias=RAM
  114. Name=#Browser#

  115. [BrowserRAMScaled]
  116. Measure=Calc
  117. Formula=BrowserRAM

  118. [NetworkIn]
  119. Measure=Plugin
  120. Plugin=UsageMonitor
  121. Category=Network Adapter
  122. Counter=Bytes Received/sec
  123. Index=1

  124. [NetworkInScaled]
  125. Measure=Calc
  126. Formula=NetworkIn
  127. IfAboveValue=0
  128. IfAboveAction=[!SetOption MeterNetworkName Text "[NetworkIn]"][!UpdateMeter *][!Redraw]

  129. [NetworkOut]
  130. Measure=Plugin
  131. Plugin=UsageMonitor
  132. Category=Network Adapter
  133. Counter=Bytes Sent/sec
  134. Index=1

  135. [NetworkOutScaled]
  136. Measure=Calc
  137. Formula=NetworkOut
  138. IfAboveValue=0
  139. IfAboveAction=[!SetOption MeterNetworkName Text "[NetworkOut]"][!UpdateMeter *][!Redraw]

  140. ; Meters

  141. [AllStyle]
  142. FontSize=11
  143. FontWeight=400
  144. FontColor=255,255,255,255
  145. AntiAlias=1
  146. DynamicVariables=1

  147. [RightStyle]
  148. X=360
  149. StringAlign=Right

  150. [MeterCPULabel]
  151. Meter=String
  152. MeterStyle=AllStyle
  153. Text=Total CPU Usage

  154. [MeterCPUValues]
  155. Meter=String
  156. MeterStyle=AllStyle | RightStyle
  157. Text=[MeasureCPU] : [MeasureCPU:1]%

  158. [MeterMyAppsLabel]
  159. Meter=String
  160. MeterStyle=AllStyle
  161. Y=3R
  162. Text=Top MyApps

  163. [MeterMyAppsValues]
  164. Meter=String
  165. MeterStyle=AllStyle | RightStyle
  166. Y=0r
  167. Text=[MeasureMyApps] : [MeasureMyApps:1]%

  168. [MeterTop1byAliasLabel]
  169. Meter=String
  170. MeterStyle=AllStyle
  171. Y=3R
  172. Text=Top Process by Alias

  173. [MeterTop1byAliasValues]
  174. Meter=String
  175. MeterStyle=AllStyle | RightStyle
  176. Y=0r
  177. Text=[MeasureTop1byAlias] : [MeasureTop1byAlias:1]%

  178. [MeterTop1byCounterLabel]
  179. Meter=String
  180. MeterStyle=AllStyle
  181. Y=3R
  182. Text=Top Process by Counter

  183. [MeterTop1byCounterValues]
  184. Meter=String
  185. MeterStyle=AllStyle | RightStyle
  186. Y=0r
  187. Text=[MeasureTop1byCounter] : [MeasureTop1byCounter:1]%

  188. [MeterRainmeterLabel]
  189. Meter=String
  190. MeterStyle=AllStyle
  191. Y=3R
  192. Text=Rainmeter CPU

  193. [MeterRainmeterValues]
  194. Meter=String
  195. MeterStyle=AllStyle | RightStyle
  196. Y=0r
  197. Text=[MeasureRainmeter] : [MeasureRainmeter:1]%

  198. [MeterBrowserLabel]
  199. Meter=String
  200. MeterStyle=AllStyle
  201. Y=3R
  202. Text=Browser CPU

  203. [MeterBrowserValues]
  204. Meter=String
  205. MeterStyle=AllStyle | RightStyle
  206. Y=0r
  207. Text=[MeasureBrowser] : [MeasureBrowser:1]%

  208. [MeterTotalThreadsLabel]
  209. Meter=String
  210. MeterStyle=AllStyle
  211. Y=3R
  212. Text=Total Threads

  213. [MeterTotalThreadsValues]
  214. Meter=String
  215. MeterStyle=AllStyle | RightStyle
  216. Y=0r
  217. Text=[TotalThreads] : [TotalThreads:0]

  218. [MeterCore0UsageLabel]
  219. Meter=String
  220. MeterStyle=AllStyle
  221. Y=3R
  222. Text=CPU Core 0 Usage

  223. [MeterCore0UsageValues]
  224. Meter=String
  225. MeterStyle=AllStyle | RightStyle
  226. Y=0r
  227. Text=[Core0Usage] : [Core0Usage:1]%

  228. [MeterCore1UsageLabel]
  229. Meter=String
  230. MeterStyle=AllStyle
  231. Y=3R
  232. Text=CPU Core 1 Usage

  233. [MeterCore1UsageValues]
  234. Meter=String
  235. MeterStyle=AllStyle | RightStyle
  236. Y=0r
  237. Text=[Core1Usage] : [Core1Usage:1]%

  238. [MeterTopGPULabel]
  239. Meter=String
  240. MeterStyle=AllStyle
  241. Y=3R
  242. Text=Top GPU Usage

  243. [MeterTopGPUValues]
  244. Meter=String
  245. MeterStyle=AllStyle | RightStyle
  246. Y=0r
  247. Text=[TopGPU] : [TopGPU:1]%

  248. [MeterTotalVRAMLabel]
  249. Meter=String
  250. MeterStyle=AllStyle
  251. Y=3R
  252. Text=Total VRAM Usage

  253. [MeterTotalVRAMValues]
  254. Meter=String
  255. MeterStyle=AllStyle | RightStyle
  256. MeasureName=TotalVRAMScaled
  257. Y=0r
  258. AutoScale=1
  259. NumOfDecimals=1
  260. Text=[TotalVRAM] : %1B

  261. [MeterRainmeterIOLabel]
  262. Meter=String
  263. MeterStyle=AllStyle
  264. Y=3R
  265. Text=Rainmeter IO

  266. [MeterRainmeterIOValues]
  267. Meter=String
  268. MeterStyle=AllStyle | RightStyle
  269. MeasureName=RainmeterIOScaled
  270. Y=0r
  271. AutoScale=1
  272. NumOfDecimals=1
  273. Text=[RainmeterIO] : %1B

  274. [MeterTopIOReadLabel]
  275. Meter=String
  276. MeterStyle=AllStyle
  277. Y=3R
  278. Text=Top IO Read

  279. [MeterTopIOReadValues]
  280. Meter=String
  281. MeterStyle=AllStyle | RightStyle
  282. MeasureName=TopIOReadScaled
  283. Y=0r
  284. AutoScale=1
  285. NumOfDecimals=1
  286. Text=[TopIORead] : %1B

  287. [MeterBrowserIOWriteLabel]
  288. Meter=String
  289. MeterStyle=AllStyle
  290. Y=3R
  291. Text=Browser IO Write

  292. [MeterBrowserIOWriteValues]
  293. Meter=String
  294. MeterStyle=AllStyle | RightStyle
  295. MeasureName=BrowserIOWriteScaled
  296. Y=0r
  297. AutoScale=1
  298. NumOfDecimals=1
  299. Text=[BrowserIOWrite] : %1B

  300. [MeterBrowserRAMLabel]
  301. Meter=String
  302. MeterStyle=AllStyle
  303. Y=3R
  304. Text=Browser RAM Usage

  305. [MeterBrowserRAMValues]
  306. Meter=String
  307. MeterStyle=AllStyle | RightStyle
  308. MeasureName=BrowserRAMScaled
  309. Y=0r
  310. AutoScale=1
  311. NumOfDecimals=1
  312. Text=[BrowserRAM] : %1B

  313. [MeterNetworkInLabel]
  314. Meter=String
  315. MeterStyle=AllStyle
  316. Y=15R
  317. Text=Net IN

  318. [MeterNetworkInValues]
  319. Meter=String
  320. MeterStyle=AllStyle | RightStyle
  321. MeasureName=NetworkInScaled
  322. Y=0r
  323. AutoScale=1
  324. NumOfDecimals=1
  325. Text=%1B

  326. [MeterNetworkOutLabel]
  327. Meter=String
  328. MeterStyle=AllStyle
  329. Y=3R
  330. Text=Net OUT

  331. [MeterNetworkOutValues]
  332. Meter=String
  333. MeterStyle=AllStyle | RightStyle
  334. MeasureName=NetworkOutScaled
  335. Y=0r
  336. AutoScale=1
  337. NumOfDecimals=1
  338. Text=%1B

  339. [MeterNetworkName]
  340. Meter=String
  341. MeterStyle=AllStyle
  342. Y=3R
  343. ClipString=1
复制代码
回复

使用道具 举报

签到天数: 1035 天

[LV.10]以坛为家III

发表于 2018-9-7 04:31:56 | 显示全部楼层
厉害了我的擦音乐
回复

使用道具 举报

签到天数: 11 天

[LV.3]偶尔看看II

发表于 2018-9-7 16:34:39 | 显示全部楼层
不顶不是人了,厉害的一批
回复

使用道具 举报

签到天数: 1275 天

[LV.10]以坛为家III

发表于 2018-9-8 07:47:20 | 显示全部楼层
厉害了,感谢教程分享
回复

使用道具 举报

签到天数: 4 天

[LV.2]偶尔看看I

发表于 2018-9-13 11:34:44 | 显示全部楼层
不顶不是人了,厉害的一批
回复

使用道具 举报

签到天数: 3 天

[LV.2]偶尔看看I

发表于 2018-9-21 14:17:33 | 显示全部楼层
大神厉害了。感谢分享
回复

使用道具 举报

签到天数: 115 天

[LV.6]常住居民II

发表于 2019-3-23 16:28:19 | 显示全部楼层
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2020-2-19 12:47:47 | 显示全部楼层

不顶不是人了,厉害的一批
回复

使用道具 举报

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

本版积分规则

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