12 511遇见

尚未进行身份认证

我要认证

不一样的遇见。

等级
TA的排名 8k+

易语言利用WMI获取磁盘信息源码

WMI 是 Windows Management Instrumentation (Windows管理工具)的缩写,是内置在操作系统中核心的管理支持技术,通过它可以访问、配置、管理和监视几乎所有的 Windows 资源。通过 WMI ,用 VB 可以管理的信息包括:计算机系统、磁盘、外围设备、事件日志、文件、文件夹、文件系统、网络组件、操作系统子系统、打印机、进程、注册表设置、安全性、服务、共享、SAM 用户和组、等,下面我们列举几个:用WMI对象列出系统所有进程:----Instance.vbs

2020-07-29 17:38:34

关于Dll、Com组件、托管dll和非托管dll

Com组件和dll区别:1.普通dll不能通过regsvr32.exe来注册,而Com组件能通过regsvr32.exe注册。2.Com组件是微软的一个协议,满足com组件协议的dll文件就是com组件,这种协议为了跨语言、跨平台使用,dll组件需要编译后使用,而Com组件注册后即可使用。而dll是动态链接库,是一个可以导出函数的集合。3.Com组件可以是exe也可以是dll文件。托管dll/Com组件和非托管dll/Com组件:1.非托管Com组件是用非运行库代码编写的,如C++,

2020-07-27 10:19:53

adb shell命令模拟按键/输入input使用keycode 列表详解

在adb shell里有一个非常使用的命令,模拟按键输入,这里首先不要理解为是键盘的模拟按键,下面命令的使用和键值做一个详解。input命令格式adb shell input keyevent <keycode>常用 keycode 列表keycode 含义3 HOME 键4 返回键5 打开拨号应用6 挂断电话24 增加音量25 降低音量26 电源键27 拍照(需要在相机应用里)64 打开浏览器82 菜单键85 播放/暂停86 停止播放87 播放下一

2020-07-21 09:05:02

雷电模拟器adb devices返回127.0.0.1:5555 offline分析和解决办法

很多安装模拟器都带了adb.exe,有的是在根目录,有的四在tool下,有的改了名字,比如夜神安装模拟器就把adb.exe改成了nox_adb.exe,而逍遥安卓和雷电安卓模拟器都保留android-sdk中的adb.exe,但我们比较的时候,这些adb.exe明显大小不一样,也就是说在开发安卓模拟器时二次封装了adb.exe.错误描述当我们运行安卓模拟器时,除了启动自身进程外,都会启动adb.exe,比如当我们启动雷电模拟器时,系统进程里会出现adb.exe和dnplayer.exe两个进程。

2020-07-21 09:00:16

Android adb shell刷机命令实战

为了解Android adb shell,建议阅读认识使用android adb命令详解实例Android adb shell命令详解及实例重启到 Recovery 模式命令:adb reboot recovery从 Recovery 重启到 Android命令:adb reboot重启到 Fastboot 模式命令:adb reboot bootloader通过 sideload 更新系统如果我们下载了 Android 设备对应的系统更新包到电脑上,那么也

2020-07-21 08:56:17

Android adb shell命令详解及实例

Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行填补。认识使用android adb命令详解实例手机执行Shell命令在手机中执行Shell命令:1) 每次都加上adb shell来进行命令的发送与执行adb shell <command>2)获取模拟器所有包名adb shell pm list packages3

2020-07-21 08:51:09

使用android adb命令详解实例

adb(Android Debug Bridge)是android sdk里的一个工具,就是起到调试桥的作用,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。adb作用

2020-07-21 08:42:16

LUA教程环境非全局的环境 -61

全局环境的一个问题是,任何修改都会影响你的程序的所有部分。例如,当你安装一个metatable去控制全局访问时,你的整个程序都必须遵循同一个指导方针。如果你想使用标准库,标准库中可能使用到没有声明的全局变量,你将碰到坏运。Lua 5.0允许每个函数可以有自己的环境来改善这个问题,听起来这很奇怪;毕竟,全局变量表的目的就是为了全局性使用。然而在Section 15.4我们将看到这个机制带来很多有趣的结构,全局的值依然是随处可以获取的。可以使用setfenv函数来改变一个函数的环境。Setfenv接受.

2020-07-16 09:56:41

LUA教程环境声明全局变量 -60

全局变量不需要声明,虽然这对一些小程序来说很方便,但程序很大时,一个简单的拼写错误可能引起bug并且很难发现。然而,如果我们喜欢,我们可以改变这种行为。因为Lua所有的全局变量都保存在一个普通的表中,我们可以使用metatables来改变访问全局变量的行为。setmetatable(_G, { __newindex = function (_, n) error("attempt to write to undeclared variable "..n, 2) end,

2020-07-16 09:53:41

LUA教程表使用动态名字访问全局变量 -59

Lua用一个名为environment普通的表来保存所有的全局变量。(更精确的说,Lua在一系列的environment中保存他的“global”变量,但是我们有时候可以忽略这种多样性)这种结果的优点之一是他简化了Lua的内部实现,因为对于所有的全局变量没有必要非要有不同的数据结构。另一个(主要的)优点是我们可以像其他表一样操作这个保存全局变量的表。为了简化操作,Lua将环境本身存储在一个全局变量_G中,(_G._G等于_G)。例如,下面代码打印在当前环境中所有的全局变量的名字:for n in p.

2020-07-16 09:50:49

LUA教程表相关的Metamethods 只读表 -58

采用代理的思想很容易实现一个只读表。我们需要做得只是当我们监控到企图修改表时候抛出错误。通过__index metamethod,我们可以不使用函数而是用原始表本身来使用表,因为我们不需要监控查寻。这是比较简单并且高效的重定向所有查询到原始表的方法。但是,这种用法要求每一个只读代理有一个单独的新的metatable,使用__index指向原始表:function readOnly (t) local proxy = {} local mt = { -- create .

2020-07-16 09:47:30

LUA教程表相关的Metamethods 监控表 -57

__index和__newindex都是只有当表中访问的域不存在时候才起作用。捕获对一个表的所有访问情况的唯一方法就是保持表为空。因此,如果我们想监控一个表的所有访问情况,我们应该为真实的表创建一个代理。这个代理是一个空表,并且带有__index和__newindex metamethods,由这两个方法负责跟踪表的所有访问情况并将其指向原始的表。假定,t是我们想要跟踪的原始表,我们可以:t = {} -- original table (created somewhere)-- keep

2020-07-16 09:44:48

LUA教程表相关的Metamethods 有默认值的表 -56

在一个普通的表中任何域的默认值都是nil。很容易通过metatables来改变默认值:function setDefault (t, d) local mt = {__index = function () return d end} setmetatable(t, mt)end tab = {x=10, y=20}print(tab.x, tab.z) --> 10 nilsetDefault(tab, 0)print(tab.x, tab.z) .

2020-07-16 09:33:22

LUA教程表相关的Metamethods The __index Metamethod-55

前面说过,当我们访问一个表的不存在的域,返回结果为nil,这是正确的,但并不一定正确。实际上,这种访问触发lua解释器去查找__index metamethod:如果不存在,返回结果为nil;如果存在则由__index metamethod返回结果。这个例子的原型是一种继承。假设我们想创建一些表来描述窗口。每一个表必须描述窗口的一些参数,比如:位置,大小,颜色风格等等。所有的这些参数都有默认的值,当我们想要创建窗口的时候只需要给出非默认值的参数即可创建我们需要的窗口。第一种方法是,实现一个表的构造器,对

2020-07-15 10:16:55

LUA教程库定义的Metamethods-54

在一些库中,在自己的metatables中定义自己的域是很普遍的情况。到目前为止,我们看到的所有metamethods都是Lua核心部分的。有虚拟机负责处理运算符涉及到的metatables和为运算符定义操作的metamethods。但是,metatable是一个普通的表,任何人都可以使用。tostring是一个典型的例子。如前面我们所见,tostring以简单的格式表示出table:print({}) --> table: 0x8062ac0(注意:print函数总是调用to.

2020-07-15 10:14:15

LUA教程关系运算的Metamethods-53

Metatables也允许我们使用metamethods:__eq(等于),__lt(小于),和__le(小于等于)给关系运算符赋予特殊的含义。对剩下的三个关系运算符没有专门的metamethod,因为Lua将a ~= b转换为not (a == b);a > b转换为b < a;a >= b转换为 b <= a。(直到Lua 4.0为止,所有的比较运算符被转换成一个,a <= b转为not (b < a)。然而这种转换并不一致正确。当我们遇到偏序(partial .

2020-07-15 10:10:14

LUA教程算术运算的Metamethods-52

这一部分我们通过一个简单的例子介绍如何使用metamethods。假定我们使用table来描述结合,使用函数来描述集合的并操作,交集操作,like操作。我们在一个表内定义这些函数,然后使用构造函数创建一个集合:Set = {}function Set.new (t) local set = {} for _, l in ipairs(t) do set[l] = true end return setend function Set.union (a,b) ..

2020-07-15 10:06:54

LUA教程Metatables and Metamethods-51

Lua中的table由于定义的行为,我们可以对key-value对执行加操作,访问key对应的value,遍历所有的key-value。但是我们不可以对两个table执行加操作,也不可比较两个表的大小Metatables允许我们改变table的行为,例如,使用Metatables我们可以定义Lua如何计算两个table的相加操作a+b。当Lua试图对两个表进行相加时,他会检查两个表是否有一个表有Metatable,并且检查Metatable是否有__add域。如果找到则调用这个__add函数(所谓的M.

2020-07-15 10:03:02

LUA教程保存带循环的table-50

针对普通拓扑概念上的带有循环表和共享子表的table,我们需要另外一种不同的方法来处理。构造器不能很好地解决这种情况,我们不使用。为了表示循环我们需要将表名记录下来,下面我们的函数有两个参数:table和对应的名字。另外,我们还必须记录已经保存过的table以防止由于循环而被重复保存。我们使用一个额外的table来记录保存过的表的轨迹,这个表的下表索引为table,而值为对应的表名。我们做一个限制:要保存的table只有一个字符串或者数字关键字。下面的这个函数序列化基本类型并返回结果。functi

2020-07-15 10:00:05

LUA教程保存不带循环的table-49

根据表的结构不同,采取的方法也有很多。没有一种单一的算法对所有情况都能很好地解决问题。简单的表不仅需要简单的算法而且输出文件也需要看起来美观。第一次尝试如下:function serialize (o) if type(o) == "number" then io.write(o) elseif type(o) == "string" then io.write(string.format("%q", o)) elseif type(o) =.

2020-07-15 09:55:36

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取