From e45b255752448766ac3fdae74041dc0759fe96a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=91=ABIntel?= Date: Fri, 18 Dec 2020 15:54:15 +0800 Subject: [PATCH] =?UTF-8?q?2020-12-18=20=20=20V2.0.2012.1801=20*.[?= =?UTF-8?q?=E6=96=B0=E5=A2=9E]=E6=96=B0=E5=A2=9Ehosts=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E8=A1=8C=E5=8F=82=E6=95=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bin/Debug/MyTimeClock/MyDb.dll | Bin 140800 -> 140800 bytes Bin/Debug/MyTimeClock/MyDb.xml | 9672 +++++++++-------- Bin/Debug/MyTimeClock/MyDb_SQLite.dll | Bin 16384 -> 16384 bytes Bin/Debug/MyTimeClock/RyLine.exe | Bin 34816 -> 34816 bytes Bin/Debug/MyTimeClock/RyWeb.dll | Bin 24576 -> 24576 bytes Bin/Debug/MyTimeClock/UserDb/TimeTip.dat | Bin 6985728 -> 6985728 bytes Bin/Debug/MyTimeClock/UserDb/Win.dat | 2 +- Bin/Debug/MyTimeClock/cUpdate.dat | 4 +- Bin/Debug/MyTimeClock/ryControls.dll | Bin 451072 -> 451072 bytes Bin/Debug/MyTimeClock/ryUpdate.dll | Bin 61440 -> 61440 bytes CHANGELOG.md | 37 +- Source/MyTimeClock/.vs/TimeClock/v16/.suo | Bin 161280 -> 162816 bytes Source/MyTimeClock/RyLine/Program.cs | 7 + .../RyLine/Properties/AssemblyInfo.cs | 72 +- 14 files changed, 4909 insertions(+), 4885 deletions(-) diff --git a/Bin/Debug/MyTimeClock/MyDb.dll b/Bin/Debug/MyTimeClock/MyDb.dll index 87d72d05a60110283f3bf50877c758f6aa4b354e..f82a8dd5e8ef1f5fc49d8912698ae94e48f7a47f 100644 GIT binary patch delta 24983 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 YZ4e!##c7ZF!|gVBgwvl$U83gy03h()V*mgE delta 24747 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 r1u$qakhG85s8ZOw3) z`C6~(53};@KM{)~2pc*X3}?l9Im`AX2OAD^w!%3qfyFy0qsGfZ#+GB|#7loA)EbVn z6H#{EUiNe6VTQfzMCWG>huIGQNr(pp<|mQmw3umzn{Y1gwC*Ox(jW1!!X<{AtR($? z#1Vy}yW+CIb$OBkmB~#>yLY+gX-n8;WRwZ)fFkdkppR z@iw%*ZR)TPx3|p|-x_*gvYbcEiM}H67ehVko_GiGQA8RXgAv0D^hCs0PK`HlqhG~l z%3Z_5jWgx6uxOM_PER!6Wcxd2VR?H;$3;dx&NtRGTPisULZoHT6+u3 zM)}i>hY{zeErezA3ng{N)tF6SELN(@arg{aqTNotglF`9&&d0NH!if zxgEy6A_aQLebeST^lp5Om3sM0q0y~}bPN|j5E|h$%8%hvJuE+tU(+9!a|P1(`8_14 ziFDg5e~z!3?UlEen*Z#WB0hy=}j`-R6aX_{#*oveR7sVerYj<5naE z<>=f8^6@1e?uWDC`w$b7V*FXpK=Fe5AqSINw;pph!0?HO!+(_pVo4kJ)@v+jx)J zBF`Jy5>u+jO?V`sy~jfoV;O%r zxIdz2u@08;>lVkO9s@-Wmhn%LM|iBpes9zr=807=dmQGGRSk$e+P;lg(RL}~uWc}` z#0ZggwUBS{pmUP}XX|dsPLF!sf`DU)Q@v;5lKZm!g2zzE_axe;DbZF#VDcIq z_RrERo@aSbMyO{a`#7zQXRi1ac`hu(ACcFxEIJ{uAjC|uz#7?wv^yRf`HqS@*vMxF zFeuo_Uk$?V=y-j{cAm@d&$4BE&eqXMU?X2ulJB{ZpUN)rT#Y@b!m`wfCV~Q;%_-1& zopt@9R6MarksUpptJ|}yZW9Y9f#SKKaFTOr2Nu_%u;eWW37S|XgaWtqr1F4XgcAiW z5V%cXWN(reI(6ABb$wwrTgAEsW$6L%uPw+7;Fnl`#B}rLC|MUl_+V@(O2VT9U0T)V zfUwLfQtb)*i}H16K}XgzFE)1zeuow3^(mqvaDM1sEJuePKx|*|1!7`n(*BW8IK@Je z#Z|`;-*F!7$iljvEIo^)Aer!qWO5fwM-DRH%yqo^&~Jiu)n{TjB@&aN@U#mZW$1ZYL{XA&&X_= z0PeZ;#O4O2!F2V2#uB=E!3%M8T?v!QCA@wBc5%h$6|8SyO>n!M>aWEg8q;+>l;Bk_ zZG;mc__Y?>3{@r_%D3Rpiy8h=p{)>AE+gOWfNSNX*a1UuAJVf=p_g#58}4|Md@oGE z^$6@U_@n@{lYI``ti%t(&sJ*aFnAV`Lj#*wMOQaA9j|((I^Pq?v6jQ$+sWBCOQ$of5tY-SQJ;=KFv49kp8T8J;#p4Gv!?T(Vl_bl!wwNvY+L3_(R)57Oz{H>4Dco-6p)EBi-E$hJkk0QJ_!gIsTQP z#faPBDE`6d?cj;OYx@Lp5qH3F#GNo1|K|Cp@CM>82*sJ+4Vj1$dmtAtdto@@K6nE0 zGmt0J^E-o+h8LVgMXU(_{ub^6`0>HLe?vU$oX#Q^7a-$@XsuQKJQJNqir8PyHkB;I zd8L>gNpIgj4RR~Tb{Y7@BSZ1;_~j4k-(QvG=U}M=Y4006dicOc1{aSPM$QABSwdv_ z;3ryD$tJ^|gP$lHWgpRH)Ki1kcPwFPZP$+;!bZelaC2X9HqK{(&eN|mv-A3V=IfmI z7ISyrd5wjxFPP4LYQMg87u#(#&rWK%GiJcbimm(SeY(79+5_uD53{iqx{Gs?ocuU~SB4eQ{HjNk*D-jO`ts|?pe^S?4@Z6wd|ctJX8U^sYq zbvh&YK=zLFb|i1ho_B^t@h=VO_{WUXAZPvUDBhd-XbdIzF+P5L;pOb#mS^A}%Spix dDNyM2iQq$w93T7f4_&uk?-R|hvzcjz{{!_M!>a%Q diff --git a/Bin/Debug/MyTimeClock/MyDb.xml b/Bin/Debug/MyTimeClock/MyDb.xml index f4779a0..ef49181 100644 --- a/Bin/Debug/MyTimeClock/MyDb.xml +++ b/Bin/Debug/MyTimeClock/MyDb.xml @@ -1,4829 +1,4843 @@ - - - - MyDb - - - -

- 基于XML实现的权限类 - - - - - 用户名 - - - - - 用户id - - - - - 密码 - - - - - 权限控制Id - - - - - 用户备注 - - - - - 是否是管理员权限 - - - - - 是否是超级管理员权限 - - - - - 设置权限 - - 权限名称 - 权限值 - 返回是否设置成功 - - - - 获取权限 - - 权限名称 - 默认权限值 - 返回权限值 - - - - 获取权限 - - 权限名称 - 返回权限值 - - - - 批量导入权限 - - 权限相关的内容 - 返回是否执行成功 - - - - 导出权限 - - 返回导出文本 - - - - 清除所有权限 - - 返回是否执行成功 - - - - 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 - - - - - 汉字的机内码数组 - - - - - 机内码对应的拼音数组 - - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 转换后的拼音(全拼)字符串 - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 转换后的拼音(全拼)字符串 - - - - 把汉字转换成拼音(首拼) - - 汉字字符串 - 转换后的拼音(首拼)字符串 - - - - 把汉字转换成拼音(全拼) - - 汉字字符串 - 用指定字符分隔 - 转换后的拼音(全拼)字符串 - - - - 汉字转拼音缩写 - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (字符串) (小写) (空格间隔) - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (大写) - - 要转换的汉字字符串 - 拼音缩写 - - - - 汉字转拼音缩写 (字符串)(大写)(空格间隔) - - 要转换的汉字字符串 - 拼音缩写 - - - - 取单个字符的拼音声母 - - 要转换的单个汉字 - 拼音声母 - - - - 取单个字符的拼音声母 - - 要转换的单个汉字 - 拼音声母 - - - - Ini操作类 - - - - - 写入Ini - - - - - - - - - - 获取Ini - - - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - 声明INI文件的读操作函数 GetPrivateProfileString() - - - - - - - - - - - - 获取所有节点名称(Section) - - 存放节点名称的内存地址,每个节点之间用\0分隔 - 内存大小(characters) - Ini文件 - 内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够 - - - - 编码 - - - - - Ini操作类 - - - - - - 根据section取所有key和值 - - - - - - - 读取INI文件中指定INI文件中的所有节点名称(Section) - - 所有节点,没有内容返回string[0] - - - - 读取INI文件 - - 段,格式[] - 键 - 返回byte类型的section组或键值组 - - - - 根据section取所有key - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入ini - - - - - - - - 写入Ini - - - - - - - - 读取Ini - - - - - - - - 读取Ini - - - - - - - - - 读取Ini - - - - - - - - - 读取Ini - - - - - - - - - - - 写入ini - - - - - - - - - 删除Ini的Key - - - - - - - 删除Ini节点 - - - - - - 控件信息 - - - - - id - - - - - 控件对象 - - - - - 控件值类型 - - - - - 默认值 - - - - - 值类型 - - - - - 默认 - - - - - 取列表顺序值 - - - - - 取当前选择的列表值 - - - - - 取对象值 - - - - - 保存的设置类型 - - - - - Ini - - - - - XML - - - - - 对象值 - - - - - 显示的文本 - - - - - 图片序号 - - - - - id - - - - - Tag值 - - - - - 显示文本值 - - - - - - 星期数据 - - - - - 一周的开始时间 - - - - - 一周的结束时间 - - - - - XML操作类 - - - - - XML操作类 - - - - - 从XML文本中加载数据 - - - - - - 从指定的XML文本中加载 - - XML文本 - 如为1,表示加载成功,为0为失败 - - - - 载入空的XML文档 - - 如为1,表示加载成功,为0为失败 - - - - 从指定的文件中加载 - - XML文件路径 - 如为1,表示加载成功,为0为失败 - - - - 保存到指定文件中 - - 文件路径 - 如为1,表示保存成功,为0为失败 - - - - 判断节点是否存在 - - 属性名 - 属性值 - 返回1,表示存在,其它表示不存在 - - - - 定位节点 - - 属性名 - 属性值 - 返回第一个符合要求的结果 - - - - 定位节点,如果找不到节点,就新建一个节点 - - 属性名 - 属性值 - 返回第一个符合要求的结果 - - - - 根据用户的节点定位节点,输入节点时,一定要注意节点是属于类内部的,否则可能出错。 - - 返回第一个符合要求的结果 - - - - 定位设置节点 - - 返回第一个符合要求的结果 - - - - 在节点后插入数据 - - - - - - - 在节点前插入数据 - - - - - - - 获取节点数量 - - 属性名 - 属性值 - 返回符合要求的结果数量 - - - - 获取节点数量 - - 返回符合要求的结果数量 - - - - 获取节点数量 - - 属性名 - 属性值 - - - - 返回符合要求的结果数量 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 设置节点值 - - 属性名 - 属性值 - 如为1,表示加载成功,为0为失败 - - - - 读取指定节点的值 - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 获取属性值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取所有的节点名称 - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 读取指定节点的值 - - - - - - - - 获取XML文件的根元素 - - - - - 获取所有列表 - - 如为1,表示获取成功,为0为失败 - - - - 获取所有列表 - - 如为1,表示获取成功,为0为失败 - - - - 新增节点 - - - - - - - - 新增节点并定位到新节点 - - - - - - - - 新增设置节点并定位 - - - - - - 在指定节点前新增节点并定位到新节点 - - - - - - - - - 获取当前节点 - - - - - - 删除节点 - - - - - - 获取XML文本 - - - - - - 获取XML文本 - - - - - - 获取文本 - - - - - - 获取文本 - - - - - - 字符串操作类 - - - - - 字符串转Base64 - - - - - - - Base64转字符串 - - - - - - - 转换指定字符串为布尔类型 - - - - - 转换指定字符串为Double类型 - - - - - 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - - - - - 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. - - 一个日期和时间 - - - - - 转换指定字符串为Int类型 - - - - - 转换指定字符串为Int类型 - - - - - 转换指定布尔类型为Int类型,true为1,false为0 - - - - - 判断指定字符串是否是布尔类型 - - - - - 判断指定字符串是否是Double类型 - - - - - 判断指定字符串是否是Int类型 - - - - - 根据年月日转换成日期 - - - - - - - - - 追加字符 - - - - - 获取2个字符串中间的内容,point1为空表示从首位开始算,point2为空表示算到结尾。 - - - - - 判断字符串是否只包含数字或英文 - - - - - - - 判断字符串是否匹配,支持?*通配符 - - 待匹配的字符串 - 匹配的通配符 - - - - - 通配符替换 - - - - - - - - - 获取匹配的内容 - - - - - - - - - 文件时间 - - - - - 创建时间 - - - - - 最后修改时间 - - - - - 访问时间 - - - - - 图片类型 - - - - - Bmp图片 - - - - - Jpeg图片 - - - - - Png图片 - - - - - Gif动态图片 - - - - - Tiff图片 - - - - - 对变量的拓展 - - - - - 替换文本(忽略大小写) - - - 需要替换的内容 - 替换后的内容 - - - - - 替换文本(忽略大小写),可支持通配符 - - - - - 是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换 - - - - - 获取符合要求的第一个结果 - - - - 是否是正则 - - - - - 查找字符串,忽略大小写 - - - - - - - - - 查找字符串,忽略大小写 - - - - - - - - 判断字符串是否是数字或英文 - - - - - - - 是否在指定范围内 - - - - - - - - - 是否在指定范围内 - - - - - - - - - 转换指定字符串为Int类型 - - - 最小值 - 最大值 - 如果字符串不在范围内,则使用本默认值 - - - - - 转换指定布尔类型到Int类型,true为1,false为0 - - - - - - - 将指定类型转换成整型 - - - - - - - - 将指定类型转换成整型 - - - - - - - 将指定类型转换成长整型 - - - - - - - - 将指定类型转换成长整型 - - - - - - - 转换指定类型为Double类型 - - - - - - - - 转换指定类型为Double类型 - - - - - - - 转换DateTime类型到日期时间字符串 - - - - - - - 转换DateTime类型到日期字符串 - - - - - - - 转换DateTime类型到日期星期字符串 - - - - - - - 转换DateTime类型到Unix时间戳 - - - - - - - 转换Unix时间戳到DateTime类型 - - - - - - - 判断字符串是否与内容匹配 - - - - - - - - 将变量值转换成Double类型,如果不在指定区域范围内,则使用默认值 - - - - - - - - - - 转换到文件大小字符串 - - - - - - - 转换到文件大小字符串 - - - - - - - 转换指定类型为Decimal类型 - - - - - - - - 将变量值转换成Decimal类型 - - - - - - - 将变量值转换成Decimal类型,如果不在指定区域范围内,则使用默认值 - - - - - - - - - - 转换指定类型为DateTime类型 - - - - - - - - 将变量值转换成DateTime类型 - - - - - - - 转换指定类型为布尔类型 - - - - - - - 追加字符 - - - - - - - - 获取指定字符串之间的内容 - - - - - - - - - 获取指定字符串之间的内容 - - - - - - - - - - - - 判断指定字符串是否是Int类型 - - - - - - - 判断指定字符串是否是Double类型 - - - - - - - 判断是否是布尔类型 - - - - - - - 将字符串转换为Base64类型 - - - - - - - 判断字符串是否在指定长度 - - - - - - - - - 判断能否转换成日期格式 - - - - - - - 文件信息 - - - - - 获取版本号 - - - - - 获取版本号 - - - - - - - 判断是否是管理员方式运行 - - - - - - Hosts操作类 - - - - - 获取并转换hosts内容 - - hosts内容 - - - - - 获取hosts并转换hosts内容 - - hosts内容 - - - - - 追加内容到hosts里 - - 要追加的内容列表,每一行为ip 域名的格式 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 追加内容到hosts里 - - 要追加的内容 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 追加内容到hosts里 - - ip地址 - 域名 - 0表示无需新增,-1表示添加失败,1表示追加成功 - - - - 从hosts文件里删除内容 - - 要删除的内容 - 0表示无需删除,-1表示添加失败,1表示删除成功 - - - - 从hosts文件里删除内容 - - ip地址 - 域名 - 0表示无需删除,-1表示添加失败,1表示删除成功 - - - - Host信息 - - - - - IP - - - - - 域名 - - - - - 注释 - - - - - 是否要删除 - - - - - 音频播放类 - - - - - 临时音频文件 - - - - - 父窗口句柄 - - - - - 声音标签 - - - - play synchronously (default) - - - play asynchronously - - - silence (!default) if sound not found - - - pszSound points to a memory file - - - loop the sound until next sndPlaySound - - - don’t stop any currently playing sound - - - Stop Playing Wave - - - don’t wait if the driver is busy - - - name is a registry alias - - - alias is a predefined id - - - name is file name - - - name is resource name or atom - - - - 音频播放类 - - embedded music file - 临时保存的文件位置 - 父窗口句柄 - - - - 音频播放类 - - 要播放的音频位置 - 父窗口句柄 - - - - 音频播放类 - - - 父窗口句柄 - - - - 播放音频 - - - - - - 播放音频 - - - - - 关闭音频 - - - - - 文件操作类 - - - - - - - - - - 删除单个文件。 - - 删除的文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 删除单个文件。 - - 删除的文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 永久删除单个文件。 - - 永久删除的文件名 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 删除一组文件。 - - 字符串数组,表示一组文件名 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 移动文件到指定路径下 - - 要移动的文件名 - 移动到的目的路径 - - - - - 移动一个文件到指定路径下 - - 要移动的文件名 - 移动到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 - - - - 移动一组文件到指定的路径下 - - 要移动的文件名数组 - 移动到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 复制文件到指定的文件名或路径 - - 要复制的文件名 - 复制到的目的文件名或路径 - - - - - 复制文件到指定的文件名或路径 - - 要复制的文件名 - 复制到的目的文件名或路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 复制一组文件到指定的路径 - - 要复制的文件名数组 - 复制到的目的路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 - - 要复制的文件名 - 复制到的目的文件名或路径 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 返回错误信息 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 - - - - 删除单个或多个文件 - - 删除的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 - 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 - 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 - 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 - 反馈错误消息的字符串 - 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 - - - - 移动或复制一个或多个文件到指定路径下 - - 操作类型,是移动操作还是复制操作 - 要移动或复制的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 - 移动到的目的位置 - 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 - 指示是否显示进度对话框 - 指示当文件名重复时,是否自动为新文件加上后缀名 - 反馈错误消息的字符串 - 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 - - - - 如果指定文件夹不存在,则创建文件夹 - - - - - - 获取一个文件的全名 - - 文件名 - 返回生成文件的完整路径名 - - - - 获取一个文件的全名 - - 文件名 - 返回生成文件的完整路径名 - - - - 解释错误代码 - - 代码号 - 返回关于错误代码的文字描述 - - - - 运行文件 - - - - - - - - /运行文件 - - - - - - - - 运行程序 - - - - - - - 打开文件 - - - - - - - 打开文件夹并定位文件 - - - - - - - 打开网址 - - - - - - - 判断文件名是否有效 - - - - - - - 转换到有效文件名 - - - - - - - 追加日志 - - - - - - 追加文件 - - - - - - 读取文件内容,可以自动识别文件编码 - - - - - - - 读取文件所有行,可以自动识别文件编码 - - - - - - - 写入所有文本行到文件,如果文件夹不存在,会自动创建 - - - - - - - - 写入所有文本到文件,如果文件夹不存在,会自动创建 - - - - - - - - 从文件中加载图片,使用本方法,不会导致图片文件被占用。 - - - - - - 获取文件大小 - - - - - - - 添加文件到指定文件夹,会进行自动重命名,并返回重命名后的文件名(含路径) - - 要添加的文件路径 - 要添加到的文件夹 - 是否根据时间进行重命名 - 返回是否成功执行 - 成功执行则返回路径,否则返回空 - - - - 获取文件大小字符串 - - - - - - - 获取文件大小字符串 - - - - - - - 复制内容到剪切板 - - - - - - 添加某个控件为支持拖放属性 - - - - - - - 保存高质量不失真照片 - - - - - - - - 保存高质量不失真照片 - - - - - - - - 保存高质量不失真照片 - - - - - - - - 获取绝对路径 - - - - - - - 获取相对路径 - - - - - - - 获取图标 - - - - - - - - - - - - - - 销毁图标 - - - - - - - 获取文件图标 - - - - - - - - - - 用于取得一个文本文件的编码方式(Encoding)。 - - - - - 用于取得一个文本文件的编码方式(Encoding)。 - - - - - 取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。 - - 文件名。 - - - - - 取得一个文本文件流的编码方式。 - - 文本文件流。 - - - - - 取得一个文本文件的编码方式。 - - 文件名。 - 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 - - - - - 取得一个文本文件流的编码方式。 - - 文本文件流。 - 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 - - - - - 通过给定的文件流,判断文件的编码类型 - - 文件流 - 文件的编码类型 - - - - 判断是否是不带 BOM 的 UTF8 格式 - - - - - - - 新模态窗体 - - - - - 设置窗体返回的结果值,并关闭窗体。 - - 当前窗体 - 模态变量 - 防止 - - - - 窗体返回的结果事件 - - - - - - - 当打开的窗体返回结果时激发 - - - - - 窗体返回的状态 - - - - - 实例化类 - - 父窗体,如果为null,则取桌面为父窗体 - - - - - 获取最顶级的父窗口 - - - - - - 显示新模态窗体,会暂时禁用父窗体,关闭当前窗体后,父窗体会恢复。 - - - - - 只运行一个实例,打开后,所有窗体都依然有效。 - - - - - - 显示窗体 - - 显示的位置 - - - - 显示在父窗体中间 - - - - - 窗体显示位置 - - - - - 右上角 - - - - - 顶部中间 - - - - - 顶部右边 - - - - - 中间 - - - - - 左下角 - - - - - 底部中间 - - - - - 右下角 - - - - - 父窗体居中 - - - - - 日期时间的操作类 - - - - - 获取当前是周几,周一到周日,分别是1-7. - - - - - - - 获取当前是周几,1-7,分别是返回一到日. - - - - - - - 获取当前是周几,输入日期,根据周几,分别是返回一到日. - - - - - - - 获取一周的开始和结束,开始时间为第一天的0点,结束时间以最后一天的0点为结束时间 - - - - - - - 获取2个日期相差几周 - - - - - - - - 获取2个日期相差几个月 - - - - - - - - 获取一个月的开始 - - - - - - - 判断是否在同一个星期。 - - - - - - - - 判断是否在同一个月。 - - - - - - - - 判断是否在同一天 - - - - - - - - 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - - - - - 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. - - 第一个日期和时间 - 第二个日期和时间 - 是否显示秒 - - - - - 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. - - 一个日期和时间 - - - - - 将c# DateTime时间格式转换为Unix时间戳格式 - - 时间 - long - - - - 时间戳转为C#格式时间 - - - - - - - 将c# DateTime时间格式转换为js时间戳格式 - - 时间 - long - - - - JS时间戳转为C#格式时间 - - - - - - - 根据年月日转换成日期 - - - - - - - - - 根据日期和时间转换成日期时间 - - - - - - - - 将时间转换成当前分钟开始的时间 - - - - - - - 将时间转换成当前秒钟开始的时间 - - - - - - - 当前时间在这一天里的秒数 - - - - - - - 窗体操作类 - - - - - 设置Comobox的行间距 - - - - - - - 移除关闭按钮。返回值,非零表示成功,零表示失败。 - - 窗口的句柄 - 是否成功 - - - - 把窗体放到最前 - - - - - - 显示窗体 - - - - - - - - 设置窗体是否置顶 - - - - - - - 显示没有焦点的窗口 - - - - - - 根据句柄获取窗口文本 - - - - - - - 根据句柄获取窗口类 - - - - - - - 获取当前活动的窗口句柄 - - - - - - 设置为当前活动窗口 - - - - - - - 根据窗口句柄来获得进程id - - - - - - - 显示窗体 - - - - - - 设置窗体父窗体为桌面,不会随着显示桌面而最小化,但无法设置窗体透明度 - - - - - - 结束进程 - - - - - - - 打开窗体,只打开一个实例(非模态) - - - - - - - 设置注册表操作,部分功能需要管理员权限 - - - - - 访问的注册表位置(64位还是32位) - - - - - 访问的注册表节点 - - - - - 设置是否开机启动 - - 是否开机启动 - 开机启动名称 - 启动命令 - - - - - 设置是否开机启动 - - 是否开机启动 - 开机启动名称 - - - - - 把指定文件设置为开机启动或取消开机启动 - - 是否开机启动 - 开机启动名称 - 要开机启动的文件路径 - - - - - 检查是否开机启动 - - 开机启动名称 - 开机启动命令 - - - - - 检查是否开机启动 - - 开机启动名称 - - - - - 判断指定文件是否是开机启动 - - 开机启动名称 - 文件路径 - - - - - 判断当前程序是否是开机启动 - - 开机启动名称 - - - - - 判断当前程序是否是开机启动 - - 开机启动名称 - 启动命令行 - - - - - 设置指定文件的浏览器控件内核版本 - - 文件名,要求不带路径 - 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 采用的IE模式 - - - - - IE7兼容视图 - - - - - IE8 标准模式 - - - - - IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - IE9 标准模式 - - - - - IE9 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - IE10 标准模式 - - - - - IE10 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 设置当前软件的浏览器控件内核版本 - - 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 - - - - - 设置指定文件的浏览器控件内核版本 - - 文件名,要求不带路径 - IE内核版本 - - - - - 设置当前软件的浏览器控件内核版本 - - IE内核版本 - - - - - 系统函数 - - - - - - - - - - 红 - - - - - 绿 - - - - - 蓝 - - - - - 获取屏幕伽马值 - - - - - - - - 设置屏幕伽马值 - - - - - - - - 获取键盘和鼠标没有操作的时间 - - - - - - 设置屏幕 Gamma值 - - - - - - - - - 设置屏幕亮度 - - - - - - - 获取系统 - - - - - - 窗体操作类 - - - - - 构造函数 - - - - - - 析构 - - - - - 设置让窗体支持移动 - - - - - 是否允许可调节大小 - - - - - 可调节窗体大小的宽度 - - - - - - - - - - - 给控件增加拖放功能的类 - - - - - 拖放实例 - - - - - 高级拖放事件 - - - - - - - - - - 使支持拖放属性 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 网络操作类 - - - - - 通过NetworkInterface读取网卡Mac - - - - - - 通过NetworkInterface读取网卡Mac - - - - - - 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null - - - - - - - 远程唤醒 - - - - - - - - 远程唤醒 - - - - - - - - - 消息客户端类 - - - - - 判断当前消息主服务器是否创建成功 - - - - - 最后一次接收消息的时间,可用来判断服务端是否有响应 - - - - - 主句柄 - - - - - 当收到消息时激发 - - - - - 连接上主服务器时触发 - - - - - 收到服务端关闭通知 - - - - - 收到服务端关闭通知,即将关闭 - - - - - 服务端大小改变时激发 - - - - - 实例化客户端 - - 服务端ID - 当前客户端ID,会向服务器报告当前ID - 客户端 - - - - - - - - - 断开服务端连接 - - - - - 发送消息,采用多线程发送 - - - - - - - 向服务端发送心跳包 - - - - - 判断服务端句柄是否存在。 - - - - - - 共享内存 - - - - - 写共享内存 - - 需要映射的文件的字节数量 - 映射对象(简单类型、结构体等) - 文件映射对象的名称 - - - - - 写共享内存 - - 需要映射的文件的字节数量 - 映射对象(简单类型、结构体等) - 文件映射对象的名称 - 发送消息的窗口句柄 - 发送消息 - - - - - 读共享内存 - - 需要映射的文件的字节数量 - 类型 - 文件映射对象的名称 - 返回读到的映射对象 - - - - 读共享内存 - - 需要映射的文件的字节数量 - 类型 - 文件映射对象的名称 - 返回读到的映射字节数据 - - - - 消息服务器 - - - - - 消息事件 - - - - - - - 大小改变事件 - - - - - - - - 即将关闭事件 - - - - - - - 当收到消息时激发 - - - - - 消息处理类 - - - - - - - - - - - - - - - - - - - - - - - 发送消息,采用单线程发送 - - 要发送到的句柄 - 编号 - 消息内容 - - - - 发送消息,采用多线程发送 - - 要发送到的句柄 - 编号 - 消息内容 - - - - 消息类 - - - - - 是否取消 - - - - - 来源句柄 - - - - - - - - - - 消息文本 - - - - - 需要回复的内容 - - - - - 消息服务端类 - - - - - 判断当前消息主服务器是否创建成功 - - - - - 当收到消息时激发 - - - - - 当收到自定义消息时(非系统消息)激发 - - - - - 有消息客户端发起连接请求时激发 - - - - - 有消息客户端连接成功时激发 - - - - - 有消息客户端断开连接时激发 - - - - - - - 服务端ID,需要唯一性,共客户端识别 - 服务端 - - - - 释放资源 - - - - - 判断是否包含指定客户端 - - - - - - - - - - - - 设置客户端大小 - - - - - 根据客户端ID,获取客户端对象 - - - - - - - 根据客户端句柄,获取客户端对象 - - - - - - - 关闭所有客户端 - - - - - 关闭指定客户端 - - - - - - 关闭指定客户端 - - - - - - 向所有客户端发送消息,单线程 - - - - - - - 向指定客户端发送消息 - - - - - - - - 关闭在指定时间前失去响应的子客户端 - - - - - - 客户端信息 - - - - - 客户端句柄 - - - - - 客户端ID - - - - - 客户端连接时间 - - - - - 心跳时间 - - - - - 数据库引擎 - - - - - 数据库枚举类型 - - - - - Odbc引擎 - - - - - OleDb引擎 - - - - - Oracle引擎 - - - - - MSSQL引擎 - - - - - SQLite引擎 - - - - - MySql引擎 - - - - - 判断DataSet是否包含数据 - - - - - - - 获取首行数据 - - - - - - - 获取第一行第一列的值 - - - - - - - 将DataSet类型转换为RyQuickSQL列表类型 - - - - - - - 将DataSet类型转换为RyQuickSQL列表类型 - - - - - - - - 数据库操作接口 - - - - - 连接数据库 - - - - - - 断开数据库 - - - - - - 获取数量 - - - - - - - - 获取分页语句 - - - - - - - - - 获取分页语句 - - - - - - - - - 获取分页语句 - - - - - - - - - - 获取分页语句 - - - - - - - - - - 添加Parameter参数 - - - - - - - 清空Parameter参数 - - - - - - - 获取Parameter值 - - - - - - 根据RyQuickSQL类来获取Parameter值 - - - - - - - 开始执行事务 - - - - - 提交事务 - - - - - 判断是否包含数据 - - - - - - - - 返回-1000表示该数据库不支持本接口 - - - - - - - 读取数据 - - - - - - - 读取数据 - - - - - - - - 读取数据 - - - - - - - - 根据id号获取数据 - - - - - - - - 执行SQL语句 - - - - - - - - 执行SQL语句 - - - - - - - - 执行SQL语句 - - - - - - - 根据id号删除数据 - - - - - - - - 创建数据库 - - - - - - - 释放资源 - - - - - SQL字段类型 - - - - - SQL字段类型 - - - - - - - SQL字段类型 - - - - - - - - SQL字段名 - - - - - SQL字段值 - - - - - SQL字段长度 - - - - - 不是真的值,而是用于计算的值 - - - - - SQL快速操作类 - - - - - SQL快速操作类 - - - - - - 表名 - - - - - 操作字段列表 - - - - - 清理使用资源 - - - - - 清理使用资源 - - - - - 操作参数列表 - - - - - 操作参数列表 - - - - - 添加字符串字段 - - - - - - - 添加null值字段 - - - - - - 添加日期字段 - - - - - - - 添加int字段 - - - - - - - 添加double字段 - - - - - - - 添加decimal字段 - - - - - - - 添加bool字段 - - - - - - - 添加用于计算的值 - - - - - - - 添加Int64字段 - - - - - - - 清空内容 - - - - - 数量 - - - - - - - - - - 输出多条件搜索。 - - 字段名,多个字段请用逗号分隔。 - 多个条件之间请用空格隔开 - - - - - 获取插入SQL语句 - - - - - - 获取更新SQL语句 - - - - - - 添加参数 - - - - - - - 获取Ole参数 - - - - - - 获取SQL参数 - - - - - - AES加密解密类 - - - - - AES加密算法 - - 明文字符串 - 密钥 - 返回加密后的密文字节数组 - - - - AES解密 - - 密文字节数组 - 密钥 - 返回解密后的字符串 - - - - 加密 - - - - - - - - 解码 - - - - - - - - 转换密钥到合法密钥 - - - - - - - Base64编码类 - - - - - 编码 - - - - - - - 把字符串编码成Base64字符串 - - - - - - - - 解码 - - - - - - - MD5和SHA1操作类 - - - - - 获取MD5 - - - - - - - 获取MD5 - - - - - - - 获取SHA1 - - - - - - - 获取SHA1 - - - - - - - 获取HmacSHA1 - - - - - - - - 获取SHA256 - - - - - - - 获取HmacSHA256 - - - - - - - 获取SHA224 - - - - - - - 获取SHA512 - - - - - - - 获取HmacSHA512 - - - - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - - - - 利用IDisposable的using语法糖方便的释放锁定操作 - 内部类 - - - - 读写锁对象 - - - - 是否为写入模式 - - - - 利用IDisposable的using语法糖方便的释放锁定操作 - 构造函数 - - 读写锁 - 写入模式为true,读取模式为false - - - 释放对象时退出指定锁定模式 - - - - 空的可释放对象,免去了调用时需要判断是否为null的问题 - 内部类 - - - - 空的可释放对象 - - - - 空的释放方法 - - - - 读写锁 - - - - 保存数据 - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - 构造函数 - - - - 使用using代替lock操作的对象,可指定写入和读取锁定模式 - 构造函数 - 为Data属性设置初始值 - - - - 获取或设置当前对象中保存数据的值 - - 获取数据时未进入读取或写入锁定模式 - 设置数据时未进入写入锁定模式 - - - 是否启用,当该值为false时,Read()和Write()方法将返回 Disposable.Empty - - - - 进入读取锁定模式,该模式下允许多个读操作同时进行 - 退出读锁请将返回对象释放,建议使用using语块 - Enabled为false时,返回Disposable.Empty; - 在读取或写入锁定模式下重复执行,返回Disposable.Empty; - - - - 进入写入锁定模式,该模式下只允许同时执行一个读操作 - 退出读锁请将返回对象释放,建议使用using语块 - Enabled为false时,返回Disposable.Empty; - 在写入锁定模式下重复执行,返回Disposable.Empty; - - 读取模式下不能进入写入锁定状态 - - - - 中国农历类,最大支持公元0-9999年 - - 日期:2019-02-09 - 作者:http://www.cnblogs.com/zjfree/ - - - - 日历类型 - - - - - 无效 - - - - - Julian 日历 - - - - - Gregorian 日历 - - - - - 有效 - - - - - 公历节日 - - - - - 农历节日 - - - - - 某个月第n个星期几 - - - - - 获取农历 - - - - - - - 获取农历 - - - - - - - - - 获得某农历年的闰月,返回 1~12 对应一月到十二月,返回 0 表示无闰月 - - - - - - - 农历搜索方向 - - - - - 无效 - - - - - 向上 - - - - - 向下 - - - - - {* 日月食类型, 无, 日食, 月全食, 月偏食 } - - - - - 无 - - - - - 日食 - - - - - 月全食 - - - - - 月偏食 - - - - - {* 月相, 无, 朔, 望} - - - - - 无 - - - - - 朔 - - - - - 望 - - - - - 获得某公历年月日的农历日数和该日月相以及日月食类型和时刻 - - - - - - - - - - - - 获得某公历年月日的农历月数 - - - - - - - - - 获取阳历日期对应的农历日期 - - - - - - - - - - - - - 获得某公历年月日的农历月日和是否闰月的信息 - - - - - - - - - - - - 获得等效标准日数对应的某公历日,倒推而来 - - - - - - - - - - 比较两个农历日期(包括闰月信息),1 大于2返回1、1等于2返回0、1小于2返回-1 - - - - - - - - - - - - - - 获得某农历年月日(加是否闰月)的公历年月日 - 该函数采用反向二分法查找 - - - - - - - - - - - - - 获取农历某一个月的总天数 - - - - - - - - - 获取农历年份,范围约1901-2101年 - - - - - - - 获取农历年份,范围约0-9999年 - - - - - - - - - 获取农历月份,范围约1901-2101年 - - - - - - - 获取农历月份,范围约0-9999年 - - - - - - - - - 获取中文表示的农历月份 - - - - - - - 获取农历日,范围约1901-2101年 - - - - - - - 获取农历日,范围约0-9999年 - - - - - - - - - 获取农历日,范围约0-9999年 - - - - - - - 获取节气,范围约1901-2101年 - - - - - - - 获取节气,范围约0-9999年 - - - - - - - - - 返回y年第n个节气(如小寒为1)的日差天数值(pd取值真假,分别表示平气和定气) - - - - pd取值真假,分别表示平气和定气 - - - - - 获取等效标准日数 - - - - - - - - - 取本月天数,不考虑 1582 年 10 月的特殊情况 - - - - - - - - 获取节气,范围约1901-2101年 - - - - - - - 获取节气,范围约0-9999年 - - - - - - - - - 获取节气 - - - - - - - - - - - - 获取公历节日 - - - - - - - 获取公历节日 - - - - - - - - - 获取指定月份的第n个星期几的节日 - - - - - - - 返回星座,范围约1901-2101年 - - - - - 返回星座,范围约0-9999年 - - - - - 获取农历节日 - - - - - - - - - 获取农历节日 - - - - - - - 判断y年m月(1,2,..,12,下同)d日是Gregorian历还是Julian历(opt=1,2,3分别表示标准日历,Gregorge历和Julian历),是则返回1,是Julian历则返回0,若是Gregorge历所删去的那10天则返回-1 - - - - - 返回阳历y年m月d日的日差天数(在y年年内所走过的天数,如2000年3月1日为61) - - - - - 返回阳历y年日差天数为x时所对应的月日数(如y=2000,x=274时,返回1001(表示10月1日,即返回100*m+d)) - - - - - 获取指定日期的节气。 - - 要获取的年 - 要获取的月 - - - 立春:立是开始的意思,春是蠢动,表示万物开始有生气,这一天春天开始。 - 雨水:降雨开始,雨水将多。 - 惊蛰:春雷响动,惊动蛰伏地下冬眠的生物,它们将开始出土活动。 - 春分:这是春季九十天的中分点,这一天昼夜相等,所以古代曾称春分秋分为昼夜分。 - 清明:明洁晴朗,气候温暖,草木开始萌发繁茂。 - 谷雨:雨生百谷的意思。雨水增多,适时的降雨对谷物生长很为有利。 - 立夏:夏天开始,万物渐将随温暖的气候而生长。 - 小满:满指籽粒饱满,麦类等夏热作物这时开始结籽灌浆,即将饱满。 - 芒种:有芒作物开始成熟,此时也是秋季作物播种的最繁忙时节。 - 夏至:白天最长,黑夜最短,这一天中午太阳位置最高,日影短至终极,古代又称这一天为日北至或长日至。 - 小暑:暑是炎热,此时还未到达最热。 - 大暑:炎热的程度到达高峰。 - 立秋:秋天开始,植物快成熟了。 - 处暑:处是住的意思,表示暑气到此为止。 - 白露:地面水气凝结为露,色白,是天气开始转凉了。 - 秋分:秋季九十天的中间,这一天昼夜相等,同春分一样,太阳从正东升起正西落下。 - 寒露:水露先白而后寒,是气候将逐渐转冷的意思。 - 霜降:水气开始凝结成霜。 - 立冬:冬是终了,作物收割后要收藏起来的意思,这一天起冬天开始。 - 小雪:开始降雪,但还不多。 - 大雪:雪量由小增大。 - 冬至:这一天中午太阳在天空中位置最低,日影最长,白天最短, 黑夜最长,古代又称短日至或日南至。 - 小寒:冷气积久而为寒,此时尚未冷到顶点。 - 大寒:天候达到最寒冷的程度 - - - - - 获取年柱。 - - - - - 获得月柱 - - - - - - - 获取日柱。 - - - - - 返回甲子数x对应的天干数(如33为3) - - - - - 返回甲子数x对应的地支数(如33为9) - - - - - 获取日的天干地支 - - - - - - - 返回甲子数x对应的天干字符串 - - - - - 返回甲子数x对应的地支字符串 - - - - - 返回甲子数x对应的干支字符串 - - - - - - - 获取三伏开始时间 - - - 0表示1伏,1表示2伏,2表示3伏 - - - - - 节气 - - - - - 节气的时间。 - - - - - 节气名。 - - - - - 热键转换类 - - - - - 功能键。 - - - - - 修改键。 - - - - - 转换功能键到谷歌浏览器专用 - - - - - 将chrome功能键转换为普通功能键 - - - - - - - 按键值。 - - - - - 初始化类 的新实例。 - - The modifiers. - The key code. - - - - - - - - - - - - - - - - - 初始化类 的新实例。 - - - - - 加载热键 - - - - - - - 加载热键 - - - - - - 加载热键 - - - - - - 判断是否是热键 - - - - - 获取当前热键 - - - - - 已重载,返回“Ctrl+Alt+A”格式的字符串。 - - 类似“Ctrl+Alt+A”格式的字符串 - - - - 返回“Ctrl+Alt+A”格式的字符串。 - - 类似“Ctrl+Alt+A”格式的字符串 - - - - 功能键 - - - - - 无 - - - - - Alt键 - - - - - Ctrl键 - - - - - Shift键 - - - - - Win键 - - - - - 热键类 - - - - - 热键类 - - - - - - 热键注销 - - - - - 热键是否有效 - - - - - 释放热键 - - - - - 注册热键 - - - - - - - - - 注册热键 - - - - - - - - - 删除热键 - - - - - - - 删除所有热键 - - - - - 热键事件 - - - - - - 当使用热键时发生的事件 - - - - - 热键消息过滤 - - - - - - - 热键类型 - - - - - 热键id - - - - - 功能键 - - - - - 普通键 - - - - - 热键类型 - - - - - - - - Win32 API - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 获取当前前台窗口句柄 - - - - - - 获得当前活动窗体 - - - - - - 设置活动窗体 - - - - - - - 获取类名 - - - - - - - - - 获取当前线程对应的进程ID - - - - - - - - 判断指定句柄是否是一个窗口 - - - - - - - 获取窗口标题 - - - - - - - - - 查找窗口 - - - - - - - - 设置父窗口 - - - - - - - - 移动窗口 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 结束进程 - - - - - - - - 发送消息 - - - - - - - - - - 发送消息 - - - - - - - - - 获取窗口位置和大小 - - - - - - - - 矩形 - - - - - 最左坐标 - - - - - 最上坐标 - - - - - 最右坐标 - - - - - 最下坐标 - - - - - WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 - - - - - 系统通道ID - - - - - 用户通道ID - - - - - - - - - - - - - - - - - - - - - - - - - 获取消息 - - - - - - - - 发送消息 - - - - - - - - - - 设置父窗口 - - - - - - - - + + + + MyDb + + + + + 基于XML实现的权限类 + + + + + 用户名 + + + + + 用户id + + + + + 密码 + + + + + 权限控制Id + + + + + 用户备注 + + + + + 是否是管理员权限 + + + + + 是否是超级管理员权限 + + + + + 设置权限 + + 权限名称 + 权限值 + 返回是否设置成功 + + + + 获取权限 + + 权限名称 + 默认权限值 + 返回权限值 + + + + 获取权限 + + 权限名称 + 返回权限值 + + + + 批量导入权限 + + 权限相关的内容 + 返回是否执行成功 + + + + 导出权限 + + 返回导出文本 + + + + 清除所有权限 + + 返回是否执行成功 + + + + 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 + + + + + 汉字的机内码数组 + + + + + 机内码对应的拼音数组 + + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 转换后的拼音(全拼)字符串 + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 转换后的拼音(全拼)字符串 + + + + 把汉字转换成拼音(首拼) + + 汉字字符串 + 转换后的拼音(首拼)字符串 + + + + 把汉字转换成拼音(全拼) + + 汉字字符串 + 用指定字符分隔 + 转换后的拼音(全拼)字符串 + + + + 汉字转拼音缩写 + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (字符串) (小写) (空格间隔) + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (大写) + + 要转换的汉字字符串 + 拼音缩写 + + + + 汉字转拼音缩写 (字符串)(大写)(空格间隔) + + 要转换的汉字字符串 + 拼音缩写 + + + + 取单个字符的拼音声母 + + 要转换的单个汉字 + 拼音声母 + + + + 取单个字符的拼音声母 + + 要转换的单个汉字 + 拼音声母 + + + + Ini操作类 + + + + + 写入Ini + + + + + + + + + + 获取Ini + + + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + 声明INI文件的读操作函数 GetPrivateProfileString() + + + + + + + + + + + + 获取所有节点名称(Section) + + 存放节点名称的内存地址,每个节点之间用\0分隔 + 内存大小(characters) + Ini文件 + 内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够 + + + + 编码 + + + + + Ini操作类 + + + + + + 根据section取所有key和值 + + + + + + + 读取INI文件中指定INI文件中的所有节点名称(Section) + + 所有节点,没有内容返回string[0] + + + + 读取INI文件 + + 段,格式[] + 键 + 返回byte类型的section组或键值组 + + + + 根据section取所有key + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入ini + + + + + + + + 写入Ini + + + + + + + + 读取Ini + + + + + + + + 读取Ini + + + + + + + + + 读取Ini + + + + + + + + + 读取Ini + + + + + + + + + + + 写入ini + + + + + + + + + 删除Ini的Key + + + + + + + 删除Ini节点 + + + + + + 控件信息 + + + + + id + + + + + 控件对象 + + + + + 控件值类型 + + + + + 默认值 + + + + + 值类型 + + + + + 默认 + + + + + 取列表顺序值 + + + + + 取当前选择的列表值 + + + + + 取对象值 + + + + + 保存的设置类型 + + + + + Ini + + + + + XML + + + + + 对象值 + + + + + 显示的文本 + + + + + 图片序号 + + + + + id + + + + + Tag值 + + + + + 显示文本值 + + + + + + 星期数据 + + + + + 一周的开始时间 + + + + + 一周的结束时间 + + + + + XML操作类 + + + + + XML操作类 + + + + + 从XML文本中加载数据 + + + + + + 从指定的XML文本中加载 + + XML文本 + 如为1,表示加载成功,为0为失败 + + + + 载入空的XML文档 + + 如为1,表示加载成功,为0为失败 + + + + 从指定的文件中加载 + + XML文件路径 + 如为1,表示加载成功,为0为失败 + + + + 保存到指定文件中 + + 文件路径 + 如为1,表示保存成功,为0为失败 + + + + 判断节点是否存在 + + 属性名 + 属性值 + 返回1,表示存在,其它表示不存在 + + + + 定位节点 + + 属性名 + 属性值 + 返回第一个符合要求的结果 + + + + 定位节点,如果找不到节点,就新建一个节点 + + 属性名 + 属性值 + 返回第一个符合要求的结果 + + + + 根据用户的节点定位节点,输入节点时,一定要注意节点是属于类内部的,否则可能出错。 + + 返回第一个符合要求的结果 + + + + 定位设置节点 + + 返回第一个符合要求的结果 + + + + 在节点后插入数据 + + + + + + + 在节点前插入数据 + + + + + + + 获取节点数量 + + 属性名 + 属性值 + 返回符合要求的结果数量 + + + + 获取节点数量 + + 返回符合要求的结果数量 + + + + 获取节点数量 + + 属性名 + 属性值 + + + + 返回符合要求的结果数量 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + + + + 读取指定节点的值 + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 获取属性值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取所有的节点名称 + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 读取指定节点的值 + + + + + + + + 获取XML文件的根元素 + + + + + 获取所有列表 + + 如为1,表示获取成功,为0为失败 + + + + 获取所有列表 + + 如为1,表示获取成功,为0为失败 + + + + 新增节点 + + + + + + + + 新增节点并定位到新节点 + + + + + + + + 新增设置节点并定位 + + + + + + 在指定节点前新增节点并定位到新节点 + + + + + + + + + 获取当前节点 + + + + + + 删除节点 + + + + + + 获取XML文本 + + + + + + 获取XML文本 + + + + + + 获取文本 + + + + + + 获取文本 + + + + + + 字符串操作类 + + + + + 字符串转Base64 + + + + + + + Base64转字符串 + + + + + + + 转换指定字符串为布尔类型 + + + + + 转换指定字符串为Double类型 + + + + + 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + + + + + 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. + + 一个日期和时间 + + + + + 转换指定字符串为Int类型 + + + + + 转换指定字符串为Int类型 + + + + + 转换指定布尔类型为Int类型,true为1,false为0 + + + + + 判断指定字符串是否是布尔类型 + + + + + 判断指定字符串是否是Double类型 + + + + + 判断指定字符串是否是Int类型 + + + + + 根据年月日转换成日期 + + + + + + + + + 追加字符 + + + + + 获取2个字符串中间的内容,point1为空表示从首位开始算,point2为空表示算到结尾。 + + + + + 判断字符串是否只包含数字或英文 + + + + + + + 判断字符串是否只包含英文 + + + + + + + 判断字符串是否匹配,支持?*通配符 + + 待匹配的字符串 + 匹配的通配符 + + + + + 通配符替换 + + + + + + + + + 获取匹配的内容 + + + + + + + + + 文件时间 + + + + + 创建时间 + + + + + 最后修改时间 + + + + + 访问时间 + + + + + 图片类型 + + + + + Bmp图片 + + + + + Jpeg图片 + + + + + Png图片 + + + + + Gif动态图片 + + + + + Tiff图片 + + + + + 对变量的拓展 + + + + + 替换文本(忽略大小写) + + + 需要替换的内容 + 替换后的内容 + + + + + 替换文本(忽略大小写),可支持通配符 + + + + + 是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换 + + + + + 获取符合要求的第一个结果 + + + + 是否是正则 + + + + + 查找字符串,忽略大小写 + + + + + + + + + 查找字符串,忽略大小写 + + + + + + + + 判断字符串是否是数字或英文 + + + + + + + 判断字符串是否是英文 + + + + + + + 是否在指定范围内 + + + + + + + + + 是否在指定范围内 + + + + + + + + + 转换指定字符串为Int类型 + + + 最小值 + 最大值 + 如果字符串不在范围内,则使用本默认值 + + + + + 转换指定布尔类型到Int类型,true为1,false为0 + + + + + + + 将指定类型转换成整型 + + + + + + + + 将指定类型转换成整型 + + + + + + + 将指定类型转换成长整型 + + + + + + + + 将指定类型转换成长整型 + + + + + + + 转换指定类型为Double类型 + + + + + + + + 转换指定类型为Double类型 + + + + + + + 转换DateTime类型到日期时间字符串 + + + + + + + 转换DateTime类型到日期字符串 + + + + + + + 转换DateTime类型到日期星期字符串 + + + + + + + 转换DateTime类型到Unix时间戳 + + + + + + + 转换Unix时间戳到DateTime类型 + + + + + + + 判断字符串是否与内容匹配 + + + + + + + + 将变量值转换成Double类型,如果不在指定区域范围内,则使用默认值 + + + + + + + + + + 转换到文件大小字符串 + + + + + + + 转换到文件大小字符串 + + + + + + + 转换指定类型为Decimal类型 + + + + + + + + 将变量值转换成Decimal类型 + + + + + + + 将变量值转换成Decimal类型,如果不在指定区域范围内,则使用默认值 + + + + + + + + + + 转换指定类型为DateTime类型 + + + + + + + + 将变量值转换成DateTime类型 + + + + + + + 转换指定类型为布尔类型 + + + + + + + 追加字符 + + + + + + + + 获取指定字符串之间的内容 + + + + + + + + + 获取指定字符串之间的内容 + + + + + + + + + + + + 判断指定字符串是否是Int类型 + + + + + + + 判断指定字符串是否是Double类型 + + + + + + + 判断是否是布尔类型 + + + + + + + 将字符串转换为Base64类型 + + + + + + + 判断字符串是否在指定长度 + + + + + + + + + 判断能否转换成日期格式 + + + + + + + 文件信息 + + + + + 获取版本号 + + + + + 获取版本号 + + + + + + + 判断是否是管理员方式运行 + + + + + + Hosts操作类 + + + + + 获取并转换hosts内容 + + hosts内容 + + + + + 获取hosts并转换hosts内容 + + hosts内容 + + + + + 追加内容到hosts里 + + 要追加的内容列表,每一行为ip 域名的格式 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 追加内容到hosts里 + + 要追加的内容 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 追加内容到hosts里 + + ip地址 + 域名 + 0表示无需新增,-1表示添加失败,1表示追加成功 + + + + 从hosts文件里删除内容 + + 要删除的内容 + 0表示无需删除,-1表示添加失败,1表示删除成功 + + + + 从hosts文件里删除内容 + + ip地址 + 域名 + 0表示无需删除,-1表示添加失败,1表示删除成功 + + + + Host信息 + + + + + IP + + + + + 域名 + + + + + 注释 + + + + + 是否要删除 + + + + + 音频播放类 + + + + + 临时音频文件 + + + + + 父窗口句柄 + + + + + 声音标签 + + + + play synchronously (default) + + + play asynchronously + + + silence (!default) if sound not found + + + pszSound points to a memory file + + + loop the sound until next sndPlaySound + + + don’t stop any currently playing sound + + + Stop Playing Wave + + + don’t wait if the driver is busy + + + name is a registry alias + + + alias is a predefined id + + + name is file name + + + name is resource name or atom + + + + 音频播放类 + + embedded music file + 临时保存的文件位置 + 父窗口句柄 + + + + 音频播放类 + + 要播放的音频位置 + 父窗口句柄 + + + + 音频播放类 + + + 父窗口句柄 + + + + 播放音频 + + + + + + 播放音频 + + + + + 关闭音频 + + + + + 文件操作类 + + + + + + + + + + 删除单个文件。 + + 删除的文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 删除单个文件。 + + 删除的文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 永久删除单个文件。 + + 永久删除的文件名 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 删除一组文件。 + + 字符串数组,表示一组文件名 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 移动文件到指定路径下 + + 要移动的文件名 + 移动到的目的路径 + + + + + 移动一个文件到指定路径下 + + 要移动的文件名 + 移动到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 + + + + 移动一组文件到指定的路径下 + + 要移动的文件名数组 + 移动到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 复制文件到指定的文件名或路径 + + 要复制的文件名 + 复制到的目的文件名或路径 + + + + + 复制文件到指定的文件名或路径 + + 要复制的文件名 + 复制到的目的文件名或路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 复制一组文件到指定的路径 + + 要复制的文件名数组 + 复制到的目的路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 + + 要复制的文件名 + 复制到的目的文件名或路径 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 返回错误信息 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + + 删除单个或多个文件 + + 删除的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 + 指示是将文件放入回收站还是永久删除,true-放入回收站,false-永久删除 + 指示是否显示确认对话框,true-显示确认删除对话框,false-不显示确认删除对话框 + 指示是否显示进度对话框,true-显示,false-不显示。该参数当指定永久删除文件时有效 + 反馈错误消息的字符串 + 操作执行结果标识,删除文件成功返回0,否则,返回错误代码 + + + + 移动或复制一个或多个文件到指定路径下 + + 操作类型,是移动操作还是复制操作 + 要移动或复制的文件名,如果是多个文件,文件名之间以字符串结尾符'\0'隔开 + 移动到的目的位置 + 指示是否显示确认对话框,true-显示确认对话框,false-不显示确认对话框 + 指示是否显示进度对话框 + 指示当文件名重复时,是否自动为新文件加上后缀名 + 反馈错误消息的字符串 + 返回移动操作是否成功的标识,成功返回0,失败返回错误代码 + + + + 如果指定文件夹不存在,则创建文件夹 + + + + + + 获取一个文件的全名 + + 文件名 + 返回生成文件的完整路径名 + + + + 获取一个文件的全名 + + 文件名 + 返回生成文件的完整路径名 + + + + 解释错误代码 + + 代码号 + 返回关于错误代码的文字描述 + + + + 运行文件 + + + + + + + + /运行文件 + + + + + + + + 运行程序 + + + + + + + 打开文件 + + + + + + + 打开文件夹并定位文件 + + + + + + + 打开网址 + + + + + + + 判断文件名是否有效 + + + + + + + 转换到有效文件名 + + + + + + + 追加日志 + + + + + + 追加文件 + + + + + + 读取文件内容,可以自动识别文件编码 + + + + + + + 读取文件所有行,可以自动识别文件编码 + + + + + + + 写入所有文本行到文件,如果文件夹不存在,会自动创建 + + + + + + + + 写入所有文本到文件,如果文件夹不存在,会自动创建 + + + + + + + + 从文件中加载图片,使用本方法,不会导致图片文件被占用。 + + + + + + 获取文件大小 + + + + + + + 添加文件到指定文件夹,会进行自动重命名,并返回重命名后的文件名(含路径) + + 要添加的文件路径 + 要添加到的文件夹 + 是否根据时间进行重命名 + 返回是否成功执行 + 成功执行则返回路径,否则返回空 + + + + 获取文件大小字符串 + + + + + + + 获取文件大小字符串 + + + + + + + 复制内容到剪切板 + + + + + + 添加某个控件为支持拖放属性 + + + + + + + 保存高质量不失真照片 + + + + + + + + 保存高质量不失真照片 + + + + + + + + 保存高质量不失真照片 + + + + + + + + 获取绝对路径 + + + + + + + 获取相对路径 + + + + + + + 获取图标 + + + + + + + + + + + + + + 销毁图标 + + + + + + + 获取文件图标 + + + + + + + + + + 用于取得一个文本文件的编码方式(Encoding)。 + + + + + 用于取得一个文本文件的编码方式(Encoding)。 + + + + + 取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。 + + 文件名。 + + + + + 取得一个文本文件流的编码方式。 + + 文本文件流。 + + + + + 取得一个文本文件的编码方式。 + + 文件名。 + 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 + + + + + 取得一个文本文件流的编码方式。 + + 文本文件流。 + 默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。 + + + + + 通过给定的文件流,判断文件的编码类型 + + 文件流 + 文件的编码类型 + + + + 判断是否是不带 BOM 的 UTF8 格式 + + + + + + + 新模态窗体 + + + + + 设置窗体返回的结果值,并关闭窗体。 + + 当前窗体 + 模态变量 + 防止 + + + + 窗体返回的结果事件 + + + + + + + 当打开的窗体返回结果时激发 + + + + + 窗体返回的状态 + + + + + 实例化类 + + 父窗体,如果为null,则取桌面为父窗体 + + + + + 获取最顶级的父窗口 + + + + + + 显示新模态窗体,会暂时禁用父窗体,关闭当前窗体后,父窗体会恢复。 + + + + + 只运行一个实例,打开后,所有窗体都依然有效。 + + + + + + 显示窗体 + + 显示的位置 + + + + 显示在父窗体中间 + + + + + 窗体显示位置 + + + + + 右上角 + + + + + 顶部中间 + + + + + 顶部右边 + + + + + 中间 + + + + + 左下角 + + + + + 底部中间 + + + + + 右下角 + + + + + 父窗体居中 + + + + + 日期时间的操作类 + + + + + 获取当前是周几,周一到周日,分别是1-7. + + + + + + + 获取当前是周几,1-7,分别是返回一到日. + + + + + + + 获取当前是周几,输入日期,根据周几,分别是返回一到日. + + + + + + + 获取一周的开始和结束,开始时间为第一天的0点,结束时间以最后一天的0点为结束时间 + + + + + + + 获取2个日期相差几周 + + + + + + + + 获取2个日期相差几个月 + + + + + + + + 获取一个月的开始 + + + + + + + 判断是否在同一个星期。 + + + + + + + + 判断是否在同一个月。 + + + + + + + + 判断是否在同一天 + + + + + + + + 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + + + + + 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. + + 第一个日期和时间 + 第二个日期和时间 + 是否显示秒 + + + + + 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. + + 一个日期和时间 + + + + + 将c# DateTime时间格式转换为Unix时间戳格式 + + 时间 + long + + + + 时间戳转为C#格式时间 + + + + + + + 将c# DateTime时间格式转换为js时间戳格式 + + 时间 + long + + + + JS时间戳转为C#格式时间 + + + + + + + 根据年月日转换成日期 + + + + + + + + + 根据日期和时间转换成日期时间 + + + + + + + + 将时间转换成当前分钟开始的时间 + + + + + + + 将时间转换成当前秒钟开始的时间 + + + + + + + 当前时间在这一天里的秒数 + + + + + + + 窗体操作类 + + + + + 设置Comobox的行间距 + + + + + + + 移除关闭按钮。返回值,非零表示成功,零表示失败。 + + 窗口的句柄 + 是否成功 + + + + 把窗体放到最前 + + + + + + 显示窗体 + + + + + + + + 设置窗体是否置顶 + + + + + + + 显示没有焦点的窗口 + + + + + + 根据句柄获取窗口文本 + + + + + + + 根据句柄获取窗口类 + + + + + + + 获取当前活动的窗口句柄 + + + + + + 设置为当前活动窗口 + + + + + + + 根据窗口句柄来获得进程id + + + + + + + 显示窗体 + + + + + + 设置窗体父窗体为桌面,不会随着显示桌面而最小化,但无法设置窗体透明度 + + + + + + 结束进程 + + + + + + + 打开窗体,只打开一个实例(非模态) + + + + + + + 设置注册表操作,部分功能需要管理员权限 + + + + + 访问的注册表位置(64位还是32位) + + + + + 访问的注册表节点 + + + + + 设置是否开机启动 + + 是否开机启动 + 开机启动名称 + 启动命令 + + + + + 设置是否开机启动 + + 是否开机启动 + 开机启动名称 + + + + + 把指定文件设置为开机启动或取消开机启动 + + 是否开机启动 + 开机启动名称 + 要开机启动的文件路径 + + + + + 检查是否开机启动 + + 开机启动名称 + 开机启动命令 + + + + + 检查是否开机启动 + + 开机启动名称 + + + + + 判断指定文件是否是开机启动 + + 开机启动名称 + 文件路径 + + + + + 判断当前程序是否是开机启动 + + 开机启动名称 + + + + + 判断当前程序是否是开机启动 + + 开机启动名称 + 启动命令行 + + + + + 设置指定文件的浏览器控件内核版本 + + 文件名,要求不带路径 + 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 采用的IE模式 + + + + + IE7兼容视图 + + + + + IE8 标准模式 + + + + + IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + IE9 标准模式 + + + + + IE9 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + IE10 标准模式 + + + + + IE10 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 设置当前软件的浏览器控件内核版本 + + 7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式 + + + + + 设置指定文件的浏览器控件内核版本 + + 文件名,要求不带路径 + IE内核版本 + + + + + 设置当前软件的浏览器控件内核版本 + + IE内核版本 + + + + + 系统函数 + + + + + + + + + + 红 + + + + + 绿 + + + + + 蓝 + + + + + 获取屏幕伽马值 + + + + + + + + 设置屏幕伽马值 + + + + + + + + 获取键盘和鼠标没有操作的时间 + + + + + + 设置屏幕 Gamma值 + + + + + + + + + 设置屏幕亮度 + + + + + + + 获取系统 + + + + + + 窗体操作类 + + + + + 构造函数 + + + + + + 析构 + + + + + 设置让窗体支持移动 + + + + + 是否允许可调节大小 + + + + + 可调节窗体大小的宽度 + + + + + + + + + + + 给控件增加拖放功能的类 + + + + + 拖放实例 + + + + + 高级拖放事件 + + + + + + + + + + 使支持拖放属性 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 网络操作类 + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null + + + + + + + 远程唤醒 + + + + + + + + 远程唤醒 + + + + + + + + + 消息客户端类 + + + + + 判断当前消息主服务器是否创建成功 + + + + + 最后一次接收消息的时间,可用来判断服务端是否有响应 + + + + + 主句柄 + + + + + 当收到消息时激发 + + + + + 连接上主服务器时触发 + + + + + 收到服务端关闭通知 + + + + + 收到服务端关闭通知,即将关闭 + + + + + 服务端大小改变时激发 + + + + + 实例化客户端 + + 服务端ID + 当前客户端ID,会向服务器报告当前ID + 客户端 + + + + + + + + + 断开服务端连接 + + + + + 发送消息,采用多线程发送 + + + + + + + 向服务端发送心跳包 + + + + + 判断服务端句柄是否存在。 + + + + + + 共享内存 + + + + + 写共享内存 + + 需要映射的文件的字节数量 + 映射对象(简单类型、结构体等) + 文件映射对象的名称 + + + + + 写共享内存 + + 需要映射的文件的字节数量 + 映射对象(简单类型、结构体等) + 文件映射对象的名称 + 发送消息的窗口句柄 + 发送消息 + + + + + 读共享内存 + + 需要映射的文件的字节数量 + 类型 + 文件映射对象的名称 + 返回读到的映射对象 + + + + 读共享内存 + + 需要映射的文件的字节数量 + 类型 + 文件映射对象的名称 + 返回读到的映射字节数据 + + + + 消息服务器 + + + + + 消息事件 + + + + + + + 大小改变事件 + + + + + + + + 即将关闭事件 + + + + + + + 当收到消息时激发 + + + + + 消息处理类 + + + + + + + + + + + + + + + + + + + + + + + 发送消息,采用单线程发送 + + 要发送到的句柄 + 编号 + 消息内容 + + + + 发送消息,采用多线程发送 + + 要发送到的句柄 + 编号 + 消息内容 + + + + 消息类 + + + + + 是否取消 + + + + + 来源句柄 + + + + + + + + + + 消息文本 + + + + + 需要回复的内容 + + + + + 消息服务端类 + + + + + 判断当前消息主服务器是否创建成功 + + + + + 当收到消息时激发 + + + + + 当收到自定义消息时(非系统消息)激发 + + + + + 有消息客户端发起连接请求时激发 + + + + + 有消息客户端连接成功时激发 + + + + + 有消息客户端断开连接时激发 + + + + + + + 服务端ID,需要唯一性,共客户端识别 + 服务端 + + + + 释放资源 + + + + + 判断是否包含指定客户端 + + + + + + + + + + + + 设置客户端大小 + + + + + 根据客户端ID,获取客户端对象 + + + + + + + 根据客户端句柄,获取客户端对象 + + + + + + + 关闭所有客户端 + + + + + 关闭指定客户端 + + + + + + 关闭指定客户端 + + + + + + 向所有客户端发送消息,单线程 + + + + + + + 向指定客户端发送消息 + + + + + + + + 关闭在指定时间前失去响应的子客户端 + + + + + + 客户端信息 + + + + + 客户端句柄 + + + + + 客户端ID + + + + + 客户端连接时间 + + + + + 心跳时间 + + + + + 数据库引擎 + + + + + 数据库枚举类型 + + + + + Odbc引擎 + + + + + OleDb引擎 + + + + + Oracle引擎 + + + + + MSSQL引擎 + + + + + SQLite引擎 + + + + + MySql引擎 + + + + + 判断DataSet是否包含数据 + + + + + + + 获取首行数据 + + + + + + + 获取第一行第一列的值 + + + + + + + 将DataSet类型转换为RyQuickSQL列表类型 + + + + + + + 将DataSet类型转换为RyQuickSQL列表类型 + + + + + + + + 数据库操作接口 + + + + + 连接数据库 + + + + + + 断开数据库 + + + + + + 获取数量 + + + + + + + + 获取分页语句 + + + + + + + + + 获取分页语句 + + + + + + + + + 获取分页语句 + + + + + + + + + + 获取分页语句 + + + + + + + + + + 添加Parameter参数 + + + + + + + 清空Parameter参数 + + + + + + + 获取Parameter值 + + + + + + 根据RyQuickSQL类来获取Parameter值 + + + + + + + 开始执行事务 + + + + + 提交事务 + + + + + 判断是否包含数据 + + + + + + + + 返回-1000表示该数据库不支持本接口 + + + + + + + 读取数据 + + + + + + + 读取数据 + + + + + + + + 读取数据 + + + + + + + + 根据id号获取数据 + + + + + + + + 执行SQL语句 + + + + + + + + 执行SQL语句 + + + + + + + + 执行SQL语句 + + + + + + + 根据id号删除数据 + + + + + + + + 创建数据库 + + + + + + + 释放资源 + + + + + SQL字段类型 + + + + + SQL字段类型 + + + + + + + SQL字段类型 + + + + + + + + SQL字段名 + + + + + SQL字段值 + + + + + SQL字段长度 + + + + + 不是真的值,而是用于计算的值 + + + + + SQL快速操作类 + + + + + SQL快速操作类 + + + + + + 表名 + + + + + 操作字段列表 + + + + + 清理使用资源 + + + + + 清理使用资源 + + + + + 操作参数列表 + + + + + 操作参数列表 + + + + + 添加字符串字段 + + + + + + + 添加null值字段 + + + + + + 添加日期字段 + + + + + + + 添加int字段 + + + + + + + 添加double字段 + + + + + + + 添加decimal字段 + + + + + + + 添加bool字段 + + + + + + + 添加用于计算的值 + + + + + + + 添加Int64字段 + + + + + + + 清空内容 + + + + + 数量 + + + + + + + + + + 输出多条件搜索。 + + 字段名,多个字段请用逗号分隔。 + 多个条件之间请用空格隔开 + + + + + 获取插入SQL语句 + + + + + + 获取更新SQL语句 + + + + + + 添加参数 + + + + + + + 获取Ole参数 + + + + + + 获取SQL参数 + + + + + + AES加密解密类 + + + + + AES加密算法 + + 明文字符串 + 密钥 + 返回加密后的密文字节数组 + + + + AES解密 + + 密文字节数组 + 密钥 + 返回解密后的字符串 + + + + 加密 + + + + + + + + 解码 + + + + + + + + 转换密钥到合法密钥 + + + + + + + Base64编码类 + + + + + 编码 + + + + + + + 把字符串编码成Base64字符串 + + + + + + + + 解码 + + + + + + + MD5和SHA1操作类 + + + + + 获取MD5 + + + + + + + 获取MD5 + + + + + + + 获取SHA1 + + + + + + + 获取SHA1 + + + + + + + 获取HmacSHA1 + + + + + + + + 获取SHA256 + + + + + + + 获取HmacSHA256 + + + + + + + 获取SHA224 + + + + + + + 获取SHA512 + + + + + + + 获取HmacSHA512 + + + + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + + + + 利用IDisposable的using语法糖方便的释放锁定操作 + 内部类 + + + + 读写锁对象 + + + + 是否为写入模式 + + + + 利用IDisposable的using语法糖方便的释放锁定操作 + 构造函数 + + 读写锁 + 写入模式为true,读取模式为false + + + 释放对象时退出指定锁定模式 + + + + 空的可释放对象,免去了调用时需要判断是否为null的问题 + 内部类 + + + + 空的可释放对象 + + + + 空的释放方法 + + + + 读写锁 + + + + 保存数据 + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + 构造函数 + + + + 使用using代替lock操作的对象,可指定写入和读取锁定模式 + 构造函数 + 为Data属性设置初始值 + + + + 获取或设置当前对象中保存数据的值 + + 获取数据时未进入读取或写入锁定模式 + 设置数据时未进入写入锁定模式 + + + 是否启用,当该值为false时,Read()和Write()方法将返回 Disposable.Empty + + + + 进入读取锁定模式,该模式下允许多个读操作同时进行 + 退出读锁请将返回对象释放,建议使用using语块 + Enabled为false时,返回Disposable.Empty; + 在读取或写入锁定模式下重复执行,返回Disposable.Empty; + + + + 进入写入锁定模式,该模式下只允许同时执行一个读操作 + 退出读锁请将返回对象释放,建议使用using语块 + Enabled为false时,返回Disposable.Empty; + 在写入锁定模式下重复执行,返回Disposable.Empty; + + 读取模式下不能进入写入锁定状态 + + + + 中国农历类,最大支持公元0-9999年 + + 日期:2019-02-09 + 作者:http://www.cnblogs.com/zjfree/ + + + + 日历类型 + + + + + 无效 + + + + + Julian 日历 + + + + + Gregorian 日历 + + + + + 有效 + + + + + 公历节日 + + + + + 农历节日 + + + + + 某个月第n个星期几 + + + + + 获取农历 + + + + + + + 获取农历 + + + + + + + + + 获得某农历年的闰月,返回 1~12 对应一月到十二月,返回 0 表示无闰月 + + + + + + + 农历搜索方向 + + + + + 无效 + + + + + 向上 + + + + + 向下 + + + + + {* 日月食类型, 无, 日食, 月全食, 月偏食 } + + + + + 无 + + + + + 日食 + + + + + 月全食 + + + + + 月偏食 + + + + + {* 月相, 无, 朔, 望} + + + + + 无 + + + + + 朔 + + + + + 望 + + + + + 获得某公历年月日的农历日数和该日月相以及日月食类型和时刻 + + + + + + + + + + + + 获得某公历年月日的农历月数 + + + + + + + + + 获取阳历日期对应的农历日期 + + + + + + + + + + + + + 获得某公历年月日的农历月日和是否闰月的信息 + + + + + + + + + + + + 获得等效标准日数对应的某公历日,倒推而来 + + + + + + + + + + 比较两个农历日期(包括闰月信息),1 大于2返回1、1等于2返回0、1小于2返回-1 + + + + + + + + + + + + + + 获得某农历年月日(加是否闰月)的公历年月日 + 该函数采用反向二分法查找 + + + + + + + + + + + + + 获取农历某一个月的总天数 + + + + + + + + + 获取农历年份,范围约1901-2101年 + + + + + + + 获取农历年份,范围约0-9999年 + + + + + + + + + 获取农历月份,范围约1901-2101年 + + + + + + + 获取农历月份,范围约0-9999年 + + + + + + + + + 获取中文表示的农历月份 + + + + + + + 获取农历日,范围约1901-2101年 + + + + + + + 获取农历日,范围约0-9999年 + + + + + + + + + 获取农历日,范围约0-9999年 + + + + + + + 获取节气,范围约1901-2101年 + + + + + + + 获取节气,范围约0-9999年 + + + + + + + + + 返回y年第n个节气(如小寒为1)的日差天数值(pd取值真假,分别表示平气和定气) + + + + pd取值真假,分别表示平气和定气 + + + + + 获取等效标准日数 + + + + + + + + + 取本月天数,不考虑 1582 年 10 月的特殊情况 + + + + + + + + 获取节气,范围约1901-2101年 + + + + + + + 获取节气,范围约0-9999年 + + + + + + + + + 获取节气 + + + + + + + + + + + + 获取公历节日 + + + + + + + 获取公历节日 + + + + + + + + + 获取指定月份的第n个星期几的节日 + + + + + + + 返回星座,范围约1901-2101年 + + + + + 返回星座,范围约0-9999年 + + + + + 获取农历节日 + + + + + + + + + 获取农历节日 + + + + + + + 判断y年m月(1,2,..,12,下同)d日是Gregorian历还是Julian历(opt=1,2,3分别表示标准日历,Gregorge历和Julian历),是则返回1,是Julian历则返回0,若是Gregorge历所删去的那10天则返回-1 + + + + + 返回阳历y年m月d日的日差天数(在y年年内所走过的天数,如2000年3月1日为61) + + + + + 返回阳历y年日差天数为x时所对应的月日数(如y=2000,x=274时,返回1001(表示10月1日,即返回100*m+d)) + + + + + 获取指定日期的节气。 + + 要获取的年 + 要获取的月 + + + 立春:立是开始的意思,春是蠢动,表示万物开始有生气,这一天春天开始。 + 雨水:降雨开始,雨水将多。 + 惊蛰:春雷响动,惊动蛰伏地下冬眠的生物,它们将开始出土活动。 + 春分:这是春季九十天的中分点,这一天昼夜相等,所以古代曾称春分秋分为昼夜分。 + 清明:明洁晴朗,气候温暖,草木开始萌发繁茂。 + 谷雨:雨生百谷的意思。雨水增多,适时的降雨对谷物生长很为有利。 + 立夏:夏天开始,万物渐将随温暖的气候而生长。 + 小满:满指籽粒饱满,麦类等夏热作物这时开始结籽灌浆,即将饱满。 + 芒种:有芒作物开始成熟,此时也是秋季作物播种的最繁忙时节。 + 夏至:白天最长,黑夜最短,这一天中午太阳位置最高,日影短至终极,古代又称这一天为日北至或长日至。 + 小暑:暑是炎热,此时还未到达最热。 + 大暑:炎热的程度到达高峰。 + 立秋:秋天开始,植物快成熟了。 + 处暑:处是住的意思,表示暑气到此为止。 + 白露:地面水气凝结为露,色白,是天气开始转凉了。 + 秋分:秋季九十天的中间,这一天昼夜相等,同春分一样,太阳从正东升起正西落下。 + 寒露:水露先白而后寒,是气候将逐渐转冷的意思。 + 霜降:水气开始凝结成霜。 + 立冬:冬是终了,作物收割后要收藏起来的意思,这一天起冬天开始。 + 小雪:开始降雪,但还不多。 + 大雪:雪量由小增大。 + 冬至:这一天中午太阳在天空中位置最低,日影最长,白天最短, 黑夜最长,古代又称短日至或日南至。 + 小寒:冷气积久而为寒,此时尚未冷到顶点。 + 大寒:天候达到最寒冷的程度 + + + + + 获取年柱。 + + + + + 获得月柱 + + + + + + + 获取日柱。 + + + + + 返回甲子数x对应的天干数(如33为3) + + + + + 返回甲子数x对应的地支数(如33为9) + + + + + 获取日的天干地支 + + + + + + + 返回甲子数x对应的天干字符串 + + + + + 返回甲子数x对应的地支字符串 + + + + + 返回甲子数x对应的干支字符串 + + + + + + + 获取三伏开始时间 + + + 0表示1伏,1表示2伏,2表示3伏 + + + + + 节气 + + + + + 节气的时间。 + + + + + 节气名。 + + + + + 热键转换类 + + + + + 功能键。 + + + + + 修改键。 + + + + + 转换功能键到谷歌浏览器专用 + + + + + 将chrome功能键转换为普通功能键 + + + + + + + 按键值。 + + + + + 初始化类 的新实例。 + + The modifiers. + The key code. + + + + + + + + + + + + + + + + + 初始化类 的新实例。 + + + + + 加载热键 + + + + + + + 加载热键 + + + + + + 加载热键 + + + + + + 判断是否是热键 + + + + + 获取当前热键 + + + + + 已重载,返回“Ctrl+Alt+A”格式的字符串。 + + 类似“Ctrl+Alt+A”格式的字符串 + + + + 返回“Ctrl+Alt+A”格式的字符串。 + + 类似“Ctrl+Alt+A”格式的字符串 + + + + 功能键 + + + + + 无 + + + + + Alt键 + + + + + Ctrl键 + + + + + Shift键 + + + + + Win键 + + + + + 热键类 + + + + + 热键类 + + + + + + 热键注销 + + + + + 热键是否有效 + + + + + 释放热键 + + + + + 注册热键 + + + + + + + + + 注册热键 + + + + + + + + + 删除热键 + + + + + + + 删除所有热键 + + + + + 热键事件 + + + + + + 当使用热键时发生的事件 + + + + + 热键消息过滤 + + + + + + + 热键类型 + + + + + 热键id + + + + + 功能键 + + + + + 普通键 + + + + + 热键类型 + + + + + + + + Win32 API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 获取当前前台窗口句柄 + + + + + + 获得当前活动窗体 + + + + + + 设置活动窗体 + + + + + + + 获取类名 + + + + + + + + + 获取当前线程对应的进程ID + + + + + + + + 判断指定句柄是否是一个窗口 + + + + + + + 获取窗口标题 + + + + + + + + + 查找窗口 + + + + + + + + 设置父窗口 + + + + + + + + 移动窗口 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 结束进程 + + + + + + + + 发送消息 + + + + + + + + + + 发送消息 + + + + + + + + + 获取窗口位置和大小 + + + + + + + + 矩形 + + + + + 最左坐标 + + + + + 最上坐标 + + + + + 最右坐标 + + + + + 最下坐标 + + + + + WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。 + + + + + 系统通道ID + + + + + 用户通道ID + + + + + + + + + + + + + + + + + + + + + + + + + 获取消息 + + + + + + + + 发送消息 + + + + + + + + + + 设置父窗口 + + + + + + + + diff --git a/Bin/Debug/MyTimeClock/MyDb_SQLite.dll b/Bin/Debug/MyTimeClock/MyDb_SQLite.dll index 8987c2b9e6e1863a5d2c0671ddbbad273edef45f..a3bbea42bf28a75fca9565a0c845071ca6cd6114 100644 GIT binary patch delta 57 zcmZo@U~Fh$oY2AiQ~A!u?s7%$JM1r+8NlHDWJM+6%?e5vgal%oPSr+QtaF~`A#`kl Kkh$q1Q*Ho9tP^km delta 57 zcmZo@U~Fh$oY2AC`TF3-?s7%$+w85(3}A46vZ9jkW(B1SLIP(q_CF9{*YntLZgZJo KsP~*jrrZEgQ52E@ diff --git a/Bin/Debug/MyTimeClock/RyLine.exe b/Bin/Debug/MyTimeClock/RyLine.exe index 713f763ba19fdc5286913f918a5c53ac118b293e..4b0fb300848000fed23d1880353867fd7dee2681 100644 GIT binary patch delta 3904 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 gsA@xDX2oLu<7a{$e^kr%P2TRC8-2eap diff --git a/Bin/Debug/MyTimeClock/RyWeb.dll b/Bin/Debug/MyTimeClock/RyWeb.dll index 6112f577a2c4f627264c741d2d17a0e2346199d8..1afbd4e295d4404dd1b924f5c970722aa4e60ec2 100644 GIT binary patch delta 130 zcmZoTz}RqraY6?(lggcq-GBWB_|1h6?kZa7wo+PIxzy*zt<5t6{;&oCW#buufC-3Y z7#SGWlmKxU14B@-OYniyK_YQ8HT`#mtPi#I@D~9}Gq_sC_*N>oB$gx=$2?m<_1UzY fFBk57K6_n^vvSPyx%;2CHcx&M_Gt5oa0?Cq^Z7FL delta 128 zcmZoTz}RqraY6@k_v?cjyZ`zNJhjUyx%K~p$Ij(9V{ZRpIlOsBz#rBCplmz?5HJC; z3?l=>ni3!mV_*mhb_vd&@&5Mfw@n@!pE+ypS$fn8D9zw%74xiP;`3Q8Pj)YUzMwJY ZY3rJ&ts9{nXXTj5&%z#UJ{E4p0RR_=J!b#_ diff --git a/Bin/Debug/MyTimeClock/UserDb/TimeTip.dat b/Bin/Debug/MyTimeClock/UserDb/TimeTip.dat index ab8f1522af770a608c6009395c7090b2c6a53aaa..0930464c7024182115dc35fa9b1f2582697d78c4 100644 GIT binary patch delta 1046 zcmZ9~OH30%7zgl{ot6Rx+9EIepcN}ByJffCXDceA_y9qmVnI+4s$ejf_^3x3O*xrp z+GJz65QPxnf^I_N#mC93M>%TZ#fWKA6BDAwf6+9;;rH##?w8s5X1?jwWojB8+4bv> z9j*HH=fhpjVn4%4ZjKM~Lh_~adu4ta2nw=~V*`pLD9ILIZL+zkT>IiO=$-i#A;_|! z&OpeZ)9H$+_lPBZn%Vu1YVgMEF>}Rjh@Q9}(KdxpHiY14N2pSe{8`(qH(NC0^d|K} z{!u`%u$=TL>vj1*U=xy0W(6rA%6`_*GF&c4%Z98q8hKPeG-Kp!?*KPN|x8et=4jFWMQR^H%nb+>Q2*jz`DtOh)~R z9H=%BU7e?Oa_UwzJaHq+iLA`Y5-$ka>SF2E7Nz9drLWu0N%D!vQ3B$&bIO$?-OsMf zWLNZ102B}~fDsD81VvB`C18e9D1&mafE8>|0lT0Qs-PNbpcZz69UR~U7u10pJg^7q zVJ~=LA2h&zIFQb+9NhR;$T2L(aH87%r169LdbY8`wf!diq9~#r40E`PT<%O}wlSTV zrR^qtL^aRT8WYL&0PfcdF7QCE3Ch3$Rrrpa;tf3eRjZ4xRT(esR_C75tom?}?ocy5 zG)XTk&@hv5hu zg%&slt#BMpKpUKdQ*av2Ks$86S?Gi=I0xO(1HBN2^UwzuAOig`02g5phTsxhhG7_i WD=-RU5QVF74aQ+2orztyxc>lkSBd8U delta 1045 zcmY+?OH30{6b9h7b6W}&Xp1~sN-I`WX6Vec)6TTM5XA=w@(>Gxf=~s6!Nf;hLNIh? zf+@+wuptT|zy_Vfi5nj)m$=l##KeS+5!0k5CPazbHuV89H>z0N@2TqI@hYsG<95XSaXq4a6v5Mr;A%whN=WWhHmWRE#Wc1- zy%2vH2u_xg9_h1lYkNW3IzJ#v5*y%Io@F>KK}kn!r3#rc5XBVTEL6zdKa`@sO%a8R zXm1aUX2lf1jt_}NAsq(t%rtE^Pw1!>YJ!p#+gvx599nQNc0zPsTYLZgSo^?GZ1CPl zED$O&5?!UIeq{7ctYi3Aj0>_s93Kpc%F06C*8hpgcZ=V(7KPkgD4h94e~@EYPWZn? zdT}DXoJcS0!2lExFoFrPzzo@t1G!*IRx=d!gv|FBi zO0)8#9=b_Rwb4YKpQq<3?J9_J^CJDJGSh2er`N0?h}_O~5Y>hy`t_nprhLDt$tW`! zt$i8w5m6;Q%qEpEO#6TZ4tVgZhUvhUuiN#qnR?&G1-n)+yIXI7^$U_D{!?#UNTlLH z2!RL^gdqZl;RqasV{jbm-~`meNjL=!a2n3QSvUuc&;;k98Cu{1v_c!SLkC=hPPhb7 k=z?yz3_Z{bSKuo2K|frB0T_fBT!$Ml1jA}7e$(py3!CSO*8l(j diff --git a/Bin/Debug/MyTimeClock/UserDb/Win.dat b/Bin/Debug/MyTimeClock/UserDb/Win.dat index 1b29bfd..097e610 100644 --- a/Bin/Debug/MyTimeClock/UserDb/Win.dat +++ b/Bin/Debug/MyTimeClock/UserDb/Win.dat @@ -1,2 +1,2 @@ [TimeClock] -hwnd=67418 +hwnd=5705712 diff --git a/Bin/Debug/MyTimeClock/cUpdate.dat b/Bin/Debug/MyTimeClock/cUpdate.dat index e74012f..17891df 100644 --- a/Bin/Debug/MyTimeClock/cUpdate.dat +++ b/Bin/Debug/MyTimeClock/cUpdate.dat @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/Bin/Debug/MyTimeClock/ryControls.dll b/Bin/Debug/MyTimeClock/ryControls.dll index e8a9dc973dbf1c6b759b7a3a88d8afd33df4600c..afc1a82405461529474fb721599da7837a073f40 100644 GIT binary patch delta 65689 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 XMfpCyU>YPhN!aeVX!=RYYp(u3+q1k# diff --git a/Bin/Debug/MyTimeClock/ryUpdate.dll b/Bin/Debug/MyTimeClock/ryUpdate.dll index c7a4776b7e2acbcb64458146bc56f4c00bc44dce..5b80ddfdbc460334c9ca26b725d6b691c12a971e 100644 GIT binary patch delta 68 zcmZp8z})bFc|r&C59K=>yRUjk++lyo%m4<@m_QU010%y7c24%q6`nT~1ZKOpDSr37 TTV-79>+6$bU|1NF8B=Nf3w3+y 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 I_2F*(Usj^U2mk;8 delta 5568 zcmd^@4RDmj8OQJ0T#~!w5|ZOME+LR3fW#0&K8}1~NZuqDRFD{vQWR{HC2%?D`|&)x@9sXk&+f+gx!!qFzd8MSrU`}^jRyZUS}^GM`({aNS7y>{p=8V7;X!5dfuMe+gGOn>B#klVGg4N(@xu0sO{_&~^{=20k#24Nr) z-~)a$;wc~&$S>*<#{nZj7Z{Pw1vZck3?LCq09wfJL@e8}%REQ|<3Tvc17m;%6l*m4 zfa1-_@EuxH^Jyfa(85^6$-o3;OEVB>fXToLvcL@>7P?W0CjzNA7x8(SKnR7b9QjE> zSq|da!L-zolp;S5%pWR`_TL&*NJl*Qc;(c%_ksno#qS_p5zH^+8KI-cEJyC%V2RYY zPp0|LXHH99gVe)dEvN?#pb@MC>p>G}22LOiS5aU}`1cJLK4iEER30{*G}MKLlie9M zTqg7`HCzJ9u4FhX%BA5#!Bq_>=lrUMD}=&@hLb&#hPw_78%~xV9XsH2xvM?o3Mjv8)6jZR2qaHletr;cK{!*fVaOHd-cTd>-@ezB`rj3*K-2E}q6Miwln)lYi6CWY1$=X<^*|j+N;9sV}RbdvB>?~fxE87!! zIvYjx+>vxhuc?H@3W6P)v>{ab(}n!ZGmW&KJDzQ2)sgDiXTw6=3hV0JN4jc=rP~Zt zfC;6qG3nH^aR*4RS&2-=un?|o6FOWaI}H!{RNo9WZO)tFuCx+8twxF5pFz9q?jUZ= zGJ1{u)Q=%A7>sf)ucNzE$MQ$XUB$Zg?puo!LbMP3H+@i~eY9U&}2G>&1} zq!)7xY?-xYjv}~YMKi7A1Nhaej(hz?I_|iyHCzeQ)`+7StWYgjwU@3iL9gp% zN3Gzp`T2b#MRCW=esXZfE6oP!jO3{xgRA!@t=#^>!S!~KyG|Pzwmf4l9(FTfC~}2O zg$Rque?4M7@-jUfB7=DY;v&dLgHcGwfSE|o0>ipvP-X^Wfd#~YcrXqmfbn1gNCZ}b zqs&F(@yey4d58yhRgNR~Iu_M}7B_%aunkV>Zqs(8o&-;U;cxM_3AQ_ag#x+QcY!XT zg5BUbum^a-ufg-+1@Ig2TOb>GDH!_@cY}Swyp-VpYo!nI?ZjI?4i=xfK%5dx4Ec}Y;@72%)9^Rib9hr@3a>1;sLos` zx!+RJ%}qMerEj{*u1%Lza`|ajO#->fC-L3~$E(VQZpJfethAX=tXw2!n^**&UOt-l zKN!PfD*Hum92=vKsX0N&g>vh5J)iRZ@A2!mcTgL*ZYvPw78c>&#`rTe*-}c4sjOXXi)c!cBShO3+wk3)z;!g%j7K%(+q9|3gMZpLACTm4a z6vYTr9i?9CCEdhL6YT2Z6dO&J$Ljm|kla0gM|>Q}4gUc+0ZszmInAX12NF{0b9tfV zebX#Dd1sR)o@mly+j@+|uF3KFpPUNWSC0u8Nz2)uWd6G66 z{Qked7TfFlkItz7!%QtP{9@_6y0rfo!8@}J41yJZ3yKN z{P^UL6F;6uiKMO~j0c0Q2(;o88=UxZ)1zb-D-Y6fv7w&Q!f9v$iNNg69|c^}h0`y}Jx$&U3rk^%p@}NSd%z3iDlAsFIia$6Z?`_yRauQXF%qKY(IG?r?5_~&|2AQ-rHx^ z56u+*&>-GOW80}I&?>JkF?-jgGatz|YDHfTGl$AsLWgvKcZl*VHj8$Pmg#Jhcr}xy zQkyKlpQkM}d$-zHMF{QSu}2$4OeTvFhZIzvhRW?yX+1Ak6^%D@l9-Xlb~2ZS7nLs( zo7322Va;R~adsAS30pq