|
★ 前言
1 V! }' I( [1 n6 ~) C- G, {/ ^, C! [& Z8 s1 _5 _
再即兔年新春到来之前,我经过最后几天的加班加点。终于是将迅捷2.0 完工了,这也履行了当初春节之前推出该软件的若言。, C) |( D$ n, W% c) D. a5 I& p
& p& ?7 q8 n5 g8 v这个开发历时快1年的项目,从控制台核心版本到今天的拥有良好的用户交互性的界面化设计应该说,从中我学到了很多也付出了很多。" l4 ]% \! U3 E
8 e9 c% O V# B6 N+ o0 y5 I 这是一个,自认为比较有价值的软件开发项目。同时,它也是诚毅计算机协会自主创新大赛的 子项目。' h- a; O9 C m2 v- ^
5 S7 [; o/ E4 K
我对该软件的设计理念简单的说是 ,软件可以快速自动修复系统所存在的问题,并且拥有超自主的脚本编辑功能。6 F: y: f; \' A3 @- n. V8 @% @
# U* j) k q7 e" G1 {! _! ~
也就是说,如果你是一个拥有一定电脑技术的人,同时还懂得一些简单脚本编写能力的朋友。那么,你可以自己编写软件的脚步库
; @2 N7 u9 N9 X( s8 S# k9 ~6 r7 ^% V6 E: z( z; ~3 L
为软件的修复功能添砖加瓦。
" @# {( M3 T9 g* N* F* }+ d1 H- D, ]; k# m8 X% M
目前软件2.0版本刚刚完工,可能在软件的功能和使用交互上还纯正诸多的问题。
$ k6 ]$ A. U- G. e6 z) Q5 v1 J1 h2 Y& _/ d$ i4 W: V
不过,我会在后面的版本逐渐完善这个软件,也希望大家能对 迅捷 2.0 提出宝贵意见。 谢谢。
( M3 b7 [( u$ m- o9 b& {% q5 B6 L8 Y2 H% g
★ 软件设计 理念# J) G. O) A6 ~. x% D. i
$ j5 G9 P! y2 U0 o/ L5 f
这款软件我的设想时是,在我参加计算机协会的宿舍维修时帮人维修电脑时经常会遇到些系统配置错误等小问题.1 q8 D& c' t9 B% I
$ H' C$ [6 f8 e7 ? X
比如,输入法的选项框失踪了。或者,IE浏览器主页被锁定了。更甚至,我们的电脑任务管理器打不开。等等1 \+ n. J4 h; h6 e0 _
# u% M$ a4 Q* ?3 a' W
这类问题,一般是病毒或用户平时使用电脑不当,所造成的系统错误。+ F5 B F$ n) c) W1 J8 l
& a+ R2 Z: M! ]" m3 x& u* W- R 这些问题,只有系统没遭受到很严重破坏那么一般我们就可以通过修复一些系统参数改正过来。
0 r2 v, c' d" K& l' F" v
) [5 ~; _1 V8 } 那么,问题一般也就迎刃而解了。 所以说,为了这类问题去大动干戈将系统重装掉,那未免有点杀鸡焉用牛刀之感.
, H& Q a g: Y& v% k
. f- @2 H, s) I' `% O* V: C# O 因此,这类问题只要你电脑系统没被破坏到不能开机,或系统文件结构没受到严重破坏,以及在清除病毒的前提之前下。
, K6 h5 J. R0 z* O% [! U' }' T4 `) x; S& m
那么,我们就可以通过手工的方式去解决。这类维修方式需要花费大量时间和精力,你得去记忆相关的解决方案。
4 C H3 F: ^% a; k! o: e
' E6 B% u) t; ?" g% F, c 不过,这即费时又费力,甚至还会使你的本人技术能力在别人眼里产生掉价情况.
$ t9 z; {. J! u
% z9 I7 g, m! n 因此,我一直以来都在思考这个问题的解决方案,那便是设计这样一个软件,只要你懂得一些注册表的基本知识,接下来只要改动下脚本代码.
( a2 [; B5 o% O7 ?4 f( F/ J H# ~; z1 W& V: d/ i c; A- B# ]
使咱们软件能够识别的出你编写的脚本.并存储在软件的数据脚本库中,那么我们就能把这些问题的解决方案随时带于身旁以备不时之需. O% M5 K V3 o& V2 x( H
* G3 F. ]9 Y8 M$ x8 y 甚至于,一个不懂维修电脑的人他只要通过下载或拷贝我们所制作好的脚本数据库,配合软件的使用就能协助修复好自己的电脑.( N P0 @$ ~* M) l2 r6 r
3 y0 _! ~1 [+ ?# f4 N6 H, A
这是一个非常一举两得的好事.
( q: u+ n8 t# X$ U
4 Q3 _* A+ g$ f7 p$ M( ~ 因此,想到了这一层次因此我才会费如此之大工夫去思考和设计这款软件,我相信这款软件它会给我和大家生活带来及大便利和3 ?0 b' ^: \. ~
% k- V3 X+ v0 k4 R/ J3 Z
长久的使用效率.当然,如果你能深入了解,软件的整体运作模式,那么一定能明白要想让这款软件更加强大,就必须大家一起努力去共献和交流; [5 {" P1 ^1 C4 m$ ?
7 O/ j( O% s+ c$ @. }* ?! e
大家彼此的脚本解决方案,只有这样这款软件才能愈来愈发的强大,为我们的日常生活起到巨大的帮助作用.­) m r1 _* u Z+ K
2 X# E7 D4 P, q( E) O5 S★ 软件相关介绍:$ G4 n$ F; X, u9 a* ^ |
" X2 ~3 m* {3 q h+ a
1、目前支持包括数值型及字符串型和二进制型的注册表增加,删除及更改.­相关操作。
" a* Q% [8 m5 |& ^
# q! W5 N# P5 T5 P8 d 2、软件还支持磁盘文件的 复制及删除 功能。
1 u/ p8 L8 u3 S! l6 K
/ J* N2 ^$ P4 [+ k0 ^: r# ^ 3、软件脚本采用的是 来自巴西的 Lua 脚本语言技术。
- {- J4 A$ ~, o( U \* c E
1 ?0 l! O8 a* d9 I* j/ U★ 软件下载方式:0 m, i8 h n1 y4 U6 B* e1 _! ?, }
' ]* q/ W) @, ^ 下载地址" k- }. j6 Z: s, B; h+ ]: J/ E
' D& P/ |7 [- O1 o/ ^ Win7 系统版本 : http://www.ctdisk.com/file/496999
/ ]# X5 j% H5 T) m5 |3 o9 J e9 A" m1 \: @: @- z( a* p
XP 系统版本: http://www.ctdisk.com/file/497000
9 F6 [" h5 j- P
0 B( {2 A$ f1 R: `1 T注意:因滥用未经认可的脚本数据文件 所造成的系统破坏 本人不负责任。
/ ~: q, X( U- t
; b: u( r9 K2 L" E/ V/ Y ☆ 一、用户使用级别介绍5 Z! I+ @& H/ E. E& h
. l/ t' {' q( l% d% `7 w
& A0 }9 k6 j1 z
7 T3 {# A& H+ ^5 ^3 V) Z3 m 1、软件运行 - 解压缩软件后,打开迅捷文件夹 运行 迅捷2.0.exe 软件。
, t7 l" x8 b" u9 ?& H3 y% N ( Data.dat - 为脚本数据文件,lua5.1.dll - 软件运行所需动态库文件。)
6 O% F- D0 A" Z2 u) _' L9 ?$ J* q$ ]! s/ k4 B
2、软件使用 - 双击打开程序后 看到的界面如是, 底下有相关 程序信息。
& u9 k9 H4 d' R( `. i1 d5 O
5 h$ y" r) t# V+ r) l5 Y0 d 3.单击扫描按钮 - 程序就会自动扫描,脚本库内容并且与你系统进行比较,并把结果反馈与你。 (但这时,软件只是扫描并不进行任何的操作)
* p$ f# r) Y. V' K4 q, Z3 ^
; E) ~3 T: p' u$ R当你单击,上面列表框的某个选项时,底下列表框会列举出相应执行命令内容。 (这种也还是处于查看状态,没有任何操作。)- k/ j: S" v& g/ Q0 F
如果,你将操作面板中的 查看模式 按钮选项 取消,那么在单击 上面列表框的选项时。 软件会自动切换到,具有执行命令的模式。/ I. j) k! T8 F t: j
这时,你的任何操作。软件都会把命令执行到你的系统当中。(记得,这个方式不能马上反馈操作后结果你重新点击 扫描检测 按钮 看结果。)
" W1 V* l8 ~& Z# P5 p0 b! b3 {! L/ k5 f
4、执行修复按钮 - 当按下执行修复按钮的时候软件会自动将 脚本库的所有命令内容 执行一边并反馈与你执行的结果。
$ _0 M" K. h6 f& I4 T
3 i' a8 Q, ]8 j' `+ ` ☆ 二、脚本编写 - 高级用户 - 使用级别介绍
5 E& w5 w" b b& _7 q, R+ q5 Y$ S) c2 \8 V: H
. k$ N. Y- q6 F. R4 `: w' I 你可以通过, 记事本 很轻松的打开 脚本文件。" X# A( K$ u! z& v
% p+ q' d. Q5 _+ r& [" U
# w0 ~6 p+ F% a: E7 M7 g 脚本使用的是 来自巴西的轻量级脚本编程语言 Lua (本语言,是C语言的衍生品,并且广泛应用与目前流行的网络游戏; `0 w8 _) d; D7 _" V- z/ U; u
% n* X. }! R. t 如 Dota 以及其他 应用软件 如 Photoshop)0 R% S$ g3 m H/ l
+ j4 k! P( d# k& d4 C/ D |2 f \- s' |# v
/ g* U, m$ i1 U n4 ~
脚本具体范例介绍:# i$ @' K z. [
1 M7 }6 i( O/ N' o% l6 G
=============================================================) m! _" ^$ D/ p3 V% v* m% B. d; g
注册表 操作接口 -- 介绍
) w" Q, ^" e6 H =============================================================( t/ v. }, B- z! @1 ^" f
( _& m/ X- G3 u% j
Int REG_DetectKey ("x1","x2","x3",x4); -- 测试注册表值6 c$ ?9 m1 M. x' }
Int REG_Add ("x1","x2","x3",x4); -- 添加注册表值
1 D6 c9 {2 }" I2 I9 W Int REG_Del_Path ("x1"); -- 删除注册表路径
4 o5 }) ?* K0 Z: _/ h. C Int REG_Del_Value ("x1","x2"); -- 删除注册表键名
# e1 }1 |( O9 }# Y# ^0 W& W# v. J ; L) q# K( q9 X9 J. N
其中 ; e- w( m2 `. o6 ^# i4 z
3 S/ v% _) L1 I5 `/ I- R9 F7 M
x1 表示 - 注册表路径,9 c9 n; T0 a7 r3 G6 }3 V
x2 表示 - 注册表键名, # q4 {' v! d" `4 g% N. q/ w
x3 表示 - 注册表键值.2 ?; |- N+ [9 `2 |+ |( Y% @; y
x4 表示是否开启二进制值模式(0 表示不开启,1表示开启) -- 该模式即值是否以二进制模式写入。3 ]" f% q, u ?4 ]6 @
如果想创建一个 默认键值 请 使用在健名上使用 @ 符合
9 y- B( v0 c1 H' s# K+ I
. O8 J. U$ B% @# ^. t. e 函数返回值说明" |; W& K' B! f
----------------------------------------
0 Q4 X8 P3 M5 ~4 C+ l 0 -- 正常' |4 K0 T, r3 N3 @: x
1 -- 路径问题
8 [# P' ~/ k+ U# T 2 -- 数值问题
' r' q) a6 b7 [6 _! T& O; Y 3 -- 操作失败
- m/ A% p/ H+ M" `# ] 4 -- 操作受限
+ D# e. n8 _4 Q ?% B) F' W0 ~% J0 l. v+ t! c* F1 W/ B! I
=========================================================== D2 {# r: R8 u& @: `5 _3 s
文件 操作接口 -- 介绍
0 K1 z) S/ a. q/ \* a: }3 A; E ===========================================================
# k% S) Y5 r1 e3 I: W
6 J7 g: P: E* l3 h0 ~ Fe_AFN ("F1","F2","F3"); ! o6 P: z( V4 l% [. b% U
Fe_DFN ("F1","F2","F3");
1 _1 F% P( Q7 E4 H9 `" T* v5 K
4 a, D& ?. g0 K, F 其中
p5 V* c8 t7 |% C% ?* Y9 V
" t& w. ? @: J/ o+ c5 }/ O F1 表示 - 文件源路径,F2 表示 - 正常文件MD5值, F3 表示 - 要操作的目标路径# V- B) d6 Z b- x
0 z0 T8 b4 j0 {6 F- m& Z; Z 函数返回值说明& {- D8 n' }6 E% ^; v! q0 n
----------------------------------------0 U0 }1 q* y0 b z+ Z9 z7 p+ p
2 -- 正常: t4 B8 M! }, E( _$ x4 [
0 -- 成功
2 t$ {" Q% Q8 k( Y) Z+ E% a 1 -- 失败
9 D4 \# k' Y& j+ n) y6 O" i 4 -- 操作受限5 p# j+ x# q. l2 ^# O, M
) ?% L5 e" A( i' c6 o, b+ r
===========================================================
# [" l! x$ }1 b9 @7 U( z" p/ W7 ` Lua 脚本 例子 * M) y' q" I w! a2 F
- G* P# X2 }2 x3 @2 i! j" e& e ===========================================================9 ?# t6 x2 ?6 K2 j: ^
. M# y+ `( R* M: R- Y" `0 V) z--=============脚本信息=============6 } k7 b' \9 w6 W! W! A- g! o$ Q
* [! M7 I' U+ O: |
Author = "陈少伟" -- 脚本作者
/ }9 @' ^- j5 ^/ [# x5 YNo = "No1.0" -- 版本号( v+ m- P, r( s4 P. ?
Time = "2011年1月30日" -- 脚本发布时间# T+ [- N0 O2 w8 s
Num = 1 -- 脚本数量 (重要参数)
4 B/ D2 W8 z' e* P# @ s
: P+ L5 a- M, Y0 w* y) c- s4 t! A--=============脚本信息=============
- P$ ?5 `7 L1 f, v; [( R
/ o( k7 s# s4 n0 [* y6 ufunction Project1 ( Name, Explain, Class,OS )1 f$ q0 K5 z D5 o# v0 S a
Name = "修复文件夹选项";$ G1 w$ ^" z2 K, \2 |
Explain = "修复文件夹选项";
# h0 f1 z* w: T+ FClass = "系统类"
7 x+ X& z8 C; s" G$ `OS = "xp"
( t, Y* O$ D1 }- q4 d) w' M. R8 z" L
3 P! c t) i/ {: I6 |# T h" j--Return = REG_DetectKey ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","CheckedValue",37,0); 5 b- Y& s+ d4 I1 h, R) M/ z; l
--Return = REG_DetectKey ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","@",37,0);
! c1 w' V. o0 `Return = REG_DetectKey ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","HH","{hbn5555}",1); $ k$ K/ ?; N R5 \+ o0 J
3 U) E8 X1 |! H) I+ A* F! lif Return ~= 0 then
4 Q4 y$ ~1 z, M$ G8 v REG_Add ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","HH","{hbn5555}",1); ( j% x9 l* l8 \) L8 g
-- REG_Add ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","@",37,0); ) Y( y& T b) j& W, e2 x
-- REG_Add ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","CheckedValue",37,0); 6 i) m& [; b5 O
elseif Return == 0 then
* K, y9 A- T) b3 ?+ [! a -- REG_Del_Path ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123"); 4 l0 u, w0 }6 Y# x. d
-- REG_Del_Value ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","CheckedValue");
- n7 M6 s, H! x+ j; ]7 M& v REG_Del_Value ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","@");
' v& ?; l% f0 e. E+ Q5 t) | REG_Del_Value ("HKEY_LOCAL_MACHINE\\SOFTWARE\\123","HH"); ; P& ? l. G9 p% Z
end
! r/ z8 P$ ]! J8 i; k& I
6 ^8 F( s1 ]& R3 h, Y" r, u" ~ xReturn = Fe_AFN ("E:\\1231.TXT","123","D:\\1231.TXT"); - r7 I. @3 F1 q" l! V% \7 I# {
if Return == 2 then7 i5 H3 s! |1 K( d
Fe_DFN ("D:\\1231.TXT","123","D:\\1231.TXT");
5 }6 ?) r: e/ @ X B u: Rend4 O" r( k( E3 \2 G* v( r
4 S1 K8 v( N0 d$ O+ j5 |- B
return Name, Explain, Class,OS ;5 Z2 C- ^ _, @6 U
end |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|