打印

[推荐] 最近在玩另一种脚本语言, autoit

最近在玩另一种脚本语言, autoit

挺不错的语言,很简单,很象vbscript.但是功能也很强,可以生成菜单,以前主要用来自动安装什么的,现在功能强大了很多。等有时间,发点儿,用autoit写的小工具大家玩!
( |$ o3 A) o( n, x: L( z! o' |: O+ w* z& X0 s! e4 b
周末愉快!
《无量寿经·第十八愿》言:
设我得佛,十方众生,至心信乐,欲生我国,乃至十念,若不生者,不取正觉。唯除五逆,诽谤正法。

TOP

辛苦 脚本软件可以很好地带动技术前行~

宜兴安利店铺当天免费送货
电话:13961561512 郑合清
欢迎大家光临:
菊花论坛 靓图共赏

TOP

脚本就是为了减轻工作量

TOP

偶学习时想用它打包成自动安装的,结果它的过程就是去调用这个打包好的文件,
* p, _# D4 @2 c于是 问题来了,一运行,打包好的文件,它又执行打包文件,打包文件又运行打包文件,……无穷无穷,我内存吃紧了。我关都关不及。

TOP

我来奉献一个autoit 魔兽世界自动钓鱼的脚本
1 W. l/ ~; y4 t: s* O3 N2 [
' R r! {2 B% I$ K; B* ^* J; ?& D;#########################################################################
8 n# ~$ z: M( ]/ S$ w: |; FishBOT by Psycosis taken from Foobie who adapted Pantless Krab's
# j) Q: {% P( ]" F;
/ V) t: @" ~; m: K1 M# @" y) L1 w8 [; ]5 P; Version 1.4.9 % A+ I0 b) q" S! d, W
;
1 t& c2 ~! [* n7 B) S! H; Note - By using the Fishing bot designed for World of Warcraft ; m( u d/ Y9 h& Z
; You understand the risks and agree that you will take all
* I5 [! t Q* n5 e; responsibility for this code. THe creater takes no responsibility ; h9 i) S) g& @/ J
; for whatever happens to users who use and/or modify this code 5 V+ ?. V3 u5 {, I2 g5 M1 r& D
;######################################################################### 3 h; |4 B! T$ I% ^* |2 I8 K

# n5 R, `( c( R. b# |
' ?9 G. O# _ ]8 F7 E;###########
+ e4 p8 W- o S) e4 H. n1 A- L; Globals
7 d0 |4 l0 c: C* p;###########
0 n( Q, ]) W" D/ ~$title = "WoW FishBOT"
2 ^- l e5 r$ Q8 r6 S) K" k- J# d$win_title = "魔兽世界"
' d* U+ A. P$ n+ {# b/ O3 _8 w; B+ x# L; P& Z, E1 L3 m
; Sets up the Borders to fish in
0 Q& Z* Z+ J! J7 A- D0 |) d) c. \$top_border_height = 23 ; k& e) e5 u" C! f Q* N
$left_border_width = 4 - O3 G6 ^/ G" W, o

7 o/ S& r$ M/ s$ o6 M3 _; Sets up the Screen resolution $ make shure its in windowed mode ) Y. C# Z9 e+ S/ _* P0 p9 L6 i
$screen_width = 800 7 j$ {1 B/ S( Q8 A. L1 o
$screen_height = 600# i+ t! l1 K. h7 Z
; h! ?5 B' T) g' n& e
; Just a simple Timer
4 `2 u% n5 ?8 U4 u; C$time_to_wait = 30000
I. M8 v9 [& b# Gdim $start_time / s9 D' j/ ^1 d9 k
5 l; p" f- d( e) W. |
3 T3 ]( {& R4 _ U9 ]
;######################################################################### 1 r( P: O0 q( P& [
; Hot Keys Section + p# }8 b* a& y; g. \
; . ~# h/ b' t; C1 R
; Set up a Hot key to be used later to end the script
1 v9 _$ u+ U9 ` o, H, w' w;######################################################################### " j- q$ }! G0 U! a& ?

) W* i( D" k5 W* m( t$ Y) c0 B; H5 t4 xHotKeySet("{PAUSE}", "request_end")
1 R% O Q |) {2 B( U6 c n7 t I; K9 d }

& `" b2 r0 K4 d" A5 z9 s/ x) g
" m; I. E: i& F1 @$ q2 V9 A;#########################################################################
9 O$ @2 X }$ T* D! b; Fish Bot View Paremeters 4 L7 y9 x* u+ f3 V1 \7 o) U7 A. j- {
; 5 @; \2 M1 u0 v9 \
; Sets up the boundaries of the fishbot on the screen and returns
4 U# ?( R% f, ~* e: m6 S1 A, B; some visual confirmation by moving the mouse in a square showing
, b& V$ r! i' A! X2 Y; where the bot will be searching for the fishing bobber # m6 b- U9 j6 c h: y$ L- h3 p
;######################################################################### 5 O; R" |) a( A1 q J
9 }/ B! P+ A; {- B
if not WinExists($win_title, "") then ( k( ~$ V% z+ R" _
msg($win_title & " window must be open.") % O3 l0 S, r6 C5 T2 B+ u
Exit ( T: e" O+ b) K4 `2 k+ X
endif % C- j/ G7 h& J# Y1 P
% Y [' B5 D4 B2 W* j
WinActivate($win_title, "") ! {! M3 k+ n; _' P1 I8 e7 M) g: G
WinSetOnTop($win_title, "", 0) ) G0 k- z8 S2 P" v' t: Z7 V
Sleep(500) " y: `0 e4 |' u7 T! e9 L
! s; ~$ p6 \# ? p- @! \
check_window() 4 b8 u; Z9 W% Z) J; X9 Z8 R

; N; J' P# L% ]4 M) h9 i/ ^$win_pos = WinGetPos($win_title, "")
; H4 B, m$ k) ]( }$win_x = $win_pos[0] + $left_border_width
6 n) O% Z; S6 e% J9 f) p1 ~$win_y = $win_pos[1] + $top_border_height , \! i8 B0 M2 v( T& E$ j" H8 {
. L! E5 Q9 p; o( p) [* P
$top = $win_y + (.25 * $screen_height)
; ?! x: a C! v5 n$ O( n* p* e2 N$bottom = $top + (.35 * $screen_height) - 1 # v! k4 W. v- U7 n) L# p, ~" P( B. O# A+ Y
$left = $win_x + (.15 * $screen_width) / Q& b" u- x. A' v' A
$right = $left + $screen_width - (.15 * 2.0 * $screen_width) - 1
) G% A4 ~+ R4 k1 L$ F3 B
X5 s3 H7 v4 _) ^7 v; [* pStart_Bot()
9 U, I) b' h( N
9 x% ^2 H7 C9 L/ q1 b) \: \9 }: k6 s" M' C
;###########################
c, O0 M" G7 f+ W$ j/ g* j8 m; Visual confirmation : ^6 B7 P% J0 [( ^$ n7 T; S
; Area scanned for bobber
+ H- b' w/ I4 y0 W, p;###########################
0 Z# [( q; |; m/ Y# T/ c6 Y2 W
MouseMove($left, $top, 2) 6 s3 f6 D+ z4 M$ {- X0 v6 _4 W
MouseMove($right, $top, 2) ' o# g- ]9 o& @
MouseMove($right, $bottom, 2)
/ T, r- k, l. y- V7 zMouseMove($left, $bottom, 2) 1 T5 ^( o( [1 c3 ]6 p
) B3 }. {- G7 ?0 X1 g) t7 C8 X
cast_pole()
/ {8 P9 C! v: Q1 g) }find_float() : i$ T! k+ x; o0 ^

" s4 X3 o7 q( B' M) s+ _# A;#########################################################################
* Q% u" `! L* X: Y3 X) O' i;
6 ~/ W. R. t* W; Function find_float : O' }( n# ~" p8 u- c. j
;
8 K- \$ E* p0 G0 y; Once bobber has been cast the bobber needs to be found via colors
9 D; J: Y& ~$ d2 Y# `2 ?: L5 c; The most prominent color is the red so by default that is enabled
2 {2 g; B5 c& O' d2 q2 C/ T; More colors have been defined and you may switch them if you want % r, ~. C) {. H* o2 ~. k' ~
; The only reason to switch them is when fishing in Stormwind or at
: Q" m7 w, ?! L6 Q: |: m6 D; night when colors are all very diffrent.
1 C8 U% {! f7 P, B. {0 B' } N% b;#########################################################################
9 l r- W8 [" y& O2 U. ~! q7 ]( @8 L9 N, {; U. h% L; r/ G
func find_float()
5 ?0 w; L& u ?+ q6 t
7 R% |$ ~0 p% O' ^; t3 W ;#####################
+ I/ ~( a. c2 o/ D+ C ; Color Definitions
9 T6 D4 a4 z* i+ u0 z3 o$ A% @ ;#####################
, v7 Z# { ]) E% V+ }5 F& p2 T9 }, c( h$ R
$color_dark_purple = 0x463B4D W% j0 u0 w5 L; b
$color_dark_blue = 0x283A64
7 r) _: U8 X- O5 @ $color_red = 0xA72C0B
% N+ f' |, _# u) R7 P& G $color_stormwind_daylight_blue = 0x2B3254 + Q; `2 R, _' g) f- C. d
$color_stormwind_daylight_red = 0x6B1F0C + ~4 D) y6 ]9 n# }- v
$color_beige = 0xBB9B3D / [0 A& Z8 ~ Z- @2 t& Y% m
$color_night_blue = 0x0B1931 7 R5 C& q. |0 U" }7 C
$color_wc = 0x210B04 1 G# w8 Q, w3 [. w$ R
;#########################################################
1 ?+ v7 \$ F7 G0 K( A) Z ; This is the color used to pixelsearch for the bobber. % F* g7 m- r4 @$ @" \- \: q
; Change the color to a good color
* a5 C3 p z1 M# c9 ^0 Y+ L9 q ; on the bobber that is prominent on the screen $ `3 H3 d- l: C, X
;######################################################### : t' U# @- P9 A `" R5 z
3 V. T( B# }1 ?" R+ D! j
$color_to_use = 0x3A3231
2 }) j: `% ]4 ?9 V6 A $ A7 w2 y. q$ p A
;################################################################## ( A5 C n2 O. M: e: X! f
; This is the search tolerance. In areas where the bobber
% u5 S4 _* m0 l: k- [1 ] ; colors really stand out, you can use a fairly high threshold.
' Y+ X9 I1 z) _# b) { ; In areas where the bobber colors are fairly muted in with
# T: _0 C }5 Y( E" S/ ` ; the background, you will have to lower the values considerably.
* C* m( t, ^; h# j ;################################################################## ( G/ S# }5 c$ x7 x1 |4 i

- Y5 ]" \8 ^. D$ H G $bobber_search_tolerance = 20
% R# f5 P2 t7 i! k3 _! E/ z! U
* L, \7 n# }+ k. a ;########################################################################
S7 d& z# b4 O& a4 O5 T5 V ; It's better to use lower values here in favor of accurate searching. , M: K. b! V, q# D! Y+ \( e
; This will take more time for it to detect the bobber, but usually # Z* o p1 j% c: F+ X/ V
; the splash doesn't occur until at least 30% of the time has run out,
' p3 u1 N1 W9 f, `) } ; and by that time, it should have detected the bobber (assuming the : n* G" u7 O. k ~/ l, s& ~
; color values and tolerance are correct).
0 c8 L3 I1 S3 p' M ;######################################################################## ; L/ @ Q/ ?# [. l3 _

2 o1 D5 ]( I, P- s% g' H% b& G $bobber_search_step = 2 , ~4 A; a; Z( n/ p9 m! s8 _- A& g

4 i4 M% f: t- D. w8 e$ a$ N ;#########################################################################
I' Q0 h. p+ j2 P$ k ; Search for float. In certain lighting, the part of the float may look
1 R5 z& G9 ]4 c; x$ l' B$ t ; more purple than blue. In this case, using $color_red tends to work
" p7 D. P* f" A. {7 |! G8 n! ~ ; the best with a tolerance of 20.
+ M7 E" n# l3 G) o4 N, ]8 J' f6 n ;######################################################################### ! h" e* {, s6 U7 V3 {3 q

" j s+ }7 h" \6 [ while 1
, d6 v, m, y+ d2 E- b# ^" o if TimerDiff($start_time) >= $time_to_wait then , U3 |' d) }- o& l6 L
cast_pole()
4 h" M) n+ X, h | endif 1 W1 d3 i1 k L% I( h

8 c* R- e0 Z9 ^" N( |/ x $pos = PixelSearch($left, $top, $right, $bottom, $color_to_use, $bobber_search_tolerance, $bobber_search_step) . N% u& T6 [$ ~* y
if @error then
K: f( X# ?* w% [: d# h* Y( g" d SetError(0)
% {! r1 G' U2 s! |$ V else
" j$ p: M" `) }; g+ X MouseMove($pos[0], $pos[1], 2) 4 b9 o7 q3 V7 G/ ^) O& j. k; g
find_splash($pos[0], $pos[1] ) 5 Z) J2 \! @' U: N Q
endif 2 P/ [* f) j3 M
Sleep(10) 9 l% M! C8 X4 u" N. p! c- m7 O. r
wend 2 |( N. M5 c( m" Y- `
endfunc
+ s6 V# n3 |5 C5 L$ u* N: ]. t
" }* z4 @3 Z0 d5 h3 q;############################################################################ / Y" v. @7 M1 C- P% u% T
; Find that White Splash 7 M$ X! l# {2 ^+ ?5 s% A- q" T
;
2 t6 N( y/ q0 ]( A1 b5 m; Basicly once you find the bobber you have to find the splash 2 U! |& L! b) y' ?( c1 @
; this function creates a smaller box around the bobber and watches ; r* i3 D8 \9 c# u' j$ o
; for the white splash of the bobber. Once it finds the splash it
5 a$ R& l# |4 ^( }; m/ G" h; R; calls for the function to right click and loot.
/ h. N6 {8 p+ m& f% M& Y% @;############################################################################
9 f! K: E; m9 X
6 Q% V( y9 f6 D( C" y2 R5 ~' Z* Xfunc find_splash($float_x, $float_y)
) b' f9 X$ l/ [9 M1 g0 @4 s8 {; \# p7 \3 ]
$search_left = $float_x - 32 . ^- b# u$ C6 O$ l
$search_right = $search_left + 52
8 N! z! U1 _! M' g: a; w' ?7 } $search_top = $float_y - 32
; H0 E. Y( B$ G/ a3 F) q- v. s+ w* ^$ T1 c $search_bottom = $search_top + 64
0 m% o B* G# A1 ?: E9 y5 [
. B" z; S$ _/ T9 ^! u' y ;############################################################ + r! h; K3 s9 I( u* t- L
; Usually you do not have to modify the search color for 3 w- n7 ~8 I% w% b3 g
; the splash, as the pixels have a very distinctive, 4 p& o t: m5 S2 x
; bright color.
7 s9 b; g, x4 a( ` ;############################################################ # f1 d7 g, l2 y! V/ R6 }6 M1 z/ |
$splash_color = 0xF6F6F6
" i: K5 m( K& L7 Y% s$ e3 T1 F2 F& m$ c' z$ N0 l
;############################################################
3 R r5 v- u- S; U0 C) p" V ; Sometimes 30 tolerance works well, sometimes 20 is better $ C' J, a/ {0 n: P6 r9 O
; in lit areas to avoid catching highlights in other things. 7 n8 b3 O* ?0 e. v9 J/ q
;############################################################
3 a; B& O% {; `3 K: k$ a $splash_tolerance = 20 ( Y! C( F4 M5 p" P/ Z

9 s( L1 P& R5 a4 h ;############################################################
8 V' c8 h$ ~/ {0 s5 M ; The search step can be pretty small here (1 to 3) without " _9 V2 @1 F ]' a2 O
; worries because the search area is so small once it has
7 Q. {. b, }+ D( M ; been narrowed down - speed isn't much of an issue.
! m' ]+ ]: b8 k ;############################################################ , w7 u2 f# A8 N4 k8 E$ n i
$splash_search_step = 2 1 l: d; w( [' `
/ a" P7 b, f1 a* ^* z" H2 e. ~
;###################### ( e* Y% {- j1 V
; Search for splash
. B" v3 [5 R( @0 e% ~ ;###################### 1 r* j3 K5 P, U
( k# `8 j+ g9 k) b/ o' ]
while TimerDiff($start_time) < $time_to_wait
7 B% U0 z4 B2 o) m5 t4 z# g $pos = PixelSearch($search_left, $search_top, $search_right, $search_bottom, $splash_color, $splash_tolerance, $splash_search_step)
# a7 z% i# Z+ A/ n% i if @error then
u0 l( ]2 W( F- Y D SetError(0)
! w. [0 G+ d" C% [ else ) f. M: P7 s+ n
;#####################
* D @9 `, z% s/ E6 Y ; Click on the splash ! Q9 v7 O+ ?1 h: [/ U
;#####################
- L& T q& i" H2 ?
7 }! _- q/ g3 h/ _9 d send("{SHIFTDOWN}")
u/ ~! P, Y* X MouseClick("right");, $pos[0], $pos[1], 1, 2)
* M% G- R7 D3 t# r* u send("{ShiftUP}") . q* L0 D( j0 ]6 l1 }# W0 f" U
Sleep(5500)
; g8 w8 A8 o. s N ExitLoop
; K! h( k0 `3 |: I7 j- P endif . L: B/ w8 A, s) f
Sleep(10) * V' N$ U) |0 F9 h& \0 o
wend
6 H$ ^. C7 M, J& a7 |. q5 R% c: I B
;######################################
. T: l4 c/ j; f# M. f) w p ; Cast pole and start all over again.
! u1 a# k9 j. h2 W$ Q ;######################################
% \7 d1 H6 U5 g, c0 y1 H
& H3 b v& M/ U$ ^8 {/ ?% P4 f cast_pole()
6 z1 e. ^0 b' d4 \! Cendfunc + B& O" B" L9 J- X
# \9 u5 H2 s% r& _" @
; ##############################################################################
( d. {( _" n+ L# [0 s5 D" v, Hfunc cast_pole()
6 g. c4 l6 Y) X( C; x. R $start_time = TimerInit()
! V: |' E C% I4 G3 w, B& S Send("1") - e7 r8 I3 |+ c% S" k
Sleep(1000) ( o6 o$ [" t5 b" H7 {2 P1 s6 b p9 p
endfunc
/ r( }, q. g% V$ ~7 ?4 b& u5 v3 X& E0 F8 l# K6 B
; ############################################################################## ! w; @. l' c; L" z/ {
func check_window()
/ H% R6 p1 ^1 M; $dimensions = WinGetClientSize($win_title, "") ' [1 \: @4 a9 g b% I' s. b
; if $dimensions[0] <> $screen_width or $dimensions[1] <> $screen_height then 7 Q5 j$ G4 a) r9 O, [3 A! i3 @
; msg("Invalid window size. You must use " & $screen_width & "x" & $screen_height & " resolution in window mode.")
3 R& u! {, U+ ^3 x6 {; Exit $ J. O: m6 R& _% |
; endif
3 m9 W; H5 }1 i1 p6 q; Rendfunc
& g/ |- c3 {8 o6 N9 R2 B% ]8 q2 _3 @6 s+ X7 e9 ^' b
; ############################################################################## 5 w5 @7 S. ~1 L! y0 M3 I
func msg($text)
- A) m2 i. V6 C( ?. ?$ I( H MsgBox(0, $title, $text)
9 j3 X2 m7 G: V7 [endfunc
; w% B% R! K% y: X8 ]* _; C! e( G* O+ H4 |) W% b2 F
; ##############################################################################
& v1 b1 T3 ~& ?: L. y1 n Dfunc msg_array($title, $array, $num_elements) ! l' _3 e: o# d, M0 S6 o
dim $text
0 y; `& @1 W- d3 `" g $text = $array[0]
3 E/ h, ]# I7 f! d- w$ r$ d4 w. ^- Z+ O# ]8 c
for $j = 1 to $num_elements - 1
1 j0 g% P) J8 K5 w: v# K& [3 @& V $text = $text & ", " & $array[$j] $ Q' Z6 \3 u5 |9 a
next : A' `, V/ \% o3 { n9 S

) n1 E Q3 ?2 _( P" Q# s0 F6 p MsgBox(0, $title, $text) ! g0 T7 \. y; l0 e9 [- @& S2 h
endfunc
! Z6 I' W) r1 v% o& V* t0 f5 ^$ d* P3 P% r8 Y6 ~

3 p: x0 U( n* W# X6 x! W; ########################################################## + ` B3 ^7 W, p% ]- M1 d
func request_end()
9 e! n p$ a1 L, e& g. ^ $MB_YESNO = 4 ' c3 k2 I: W% H9 @3 k: y3 w, m. ]
$MB_YES = 6 - x( X$ z5 O5 g4 S9 H
, l: B1 @: Q- z# D* L$ e
if MsgBox($MB_YESNO, $title, "End script?") == $MB_YES then 7 L% g2 M/ D' `5 j
Exit
4 b: g7 L2 r% l. J% d) E9 p endif
& R0 Z2 |# @& X# xendfunc
& t$ A& n. h1 [- Q1 l# U8 N1 m& r6 y0 z) V5 e- t
;###########################################################
2 n* I+ h9 W; c% O1 E8 ffunc Start_Bot()
/ o" H+ K# |$ q4 |: [7 } $MB_YESNO = 4
# N+ J* `: C/ P $MB_YES = 6
0 t+ M% `3 U1 O: ]( {
3 i: V5 e- T8 N if MsgBox($MB_YESNO, $title, "Do you want to start the Bot?") == $MB_Yes then
/ n- f( T1 a E! g6 r/ J
! L1 u: M9 p! b7 N& B9 W+ ^7 O8 D else
) t+ k6 q: |) M2 s Exit
) O- z/ |: X. d9 Z* ?7 E6 f* m endif
" Y( N' H3 v. n. k0 Q0 O- q6 zendfunc
. t/ j& m2 w* _- x& H g6 x+ a W7 C" N# H/ Q- A
; ##########################################################
0 ^5 r8 k2 X$ Y2 U" |func drain_timer() ; y: O! R, g) [
Msg("Restart")
+ ^2 N: a- z" F $start_time = $start_time - $time_to_wait
% |+ Z# d u9 j) c Tendfunc " H% r: U. W G ?! s

* |1 E# D% _/ h4 |: z3 M; ##########################################################
本帖最近评分记录
  • mwpq 菊花元 +6 加分有点儿晚了,抱歉 2007-7-13 04:49
++++++++++++++++++++++++++++++++
中国最大的WIFI无线热点搜索联盟
http://www.wifi01.com
同学聚会怎么约地点? 用wifi01为您提过的免费"标点DIY"功能
精确地图标标注只需半分钟 所有朋友均可得到您提供的详细地图
http://dotdiy.wifi01.com
欢迎访问论坛 给我们你的建议
谢谢

TOP

介绍一个学习autoit的论坛9 q& ?, D! f3 X# J1 {. ~" U9 X
http://autoit.8800.org
8 g$ N8 l# X9 M8 B. p4 i! j6 l7 \我搜索过菊花的脚本区,没人有介绍过这个论坛,我就是从这个论坛起步的,特此推荐
" t; O* L7 ^: ~: y: _0 R
( `) m! q6 E# Y0 u" p脚本区还让我知道了另个autoit的论坛,好象叫autoit.cn什么的,我去看过了,也很不错!
本帖最近评分记录
  • mwpq 菊花元 +2 谢谢分享 2007-7-13 04:49

TOP

函数定义很像ASP
5 b: y2 L! q r3 M9 I& h变量定义很像PHP
% X& m2 k; |% x( o) I^_^
欢迎大家到认证区参与考试题目知识探讨,提问有奖励,解答更有奖励。
友情点击:最近在忙的事情!

TOP

引用:
原帖由 bsdos 于 2007-6-24 13:07 发表 ; y% f5 }' n( w9 a% s
介绍一个学习autoit的论坛
6 J# p1 H! r) w* f, C9 nhttp://autoit.8800.org
& a, c4 X w! k9 G; F6 B& n我搜索过菊花的脚本区,没人有介绍过这个论坛,我就是从这个论坛起步的,特此推荐% Q( s( K! K: c( b

& @% b5 m, P; F2 a2 T* j1 a脚本区还让我知道了另个autoit的论坛,好象叫autoit.cn什么的,我去看过了, ...
+ _( H9 N, S1 ? U4 d/ L, e4 Q) Z
autoit.cn 貌似和AUTOIT脚本语言一点关系也没有。。
& _! _' Y5 R# c1 m6 o
& @ d" W1 C. }9 o1 y E& T8 l1 W0 b) w# Y. @1 J0 _
GG 和BAIDU 里搜索AUTOIT 应该是这个论坛 www.autoit.net.cn

TOP

【推荐】AUTOIT 3.2.8.0.1 汉化版

TOP

本功能由奇虎搜索实现

相关主题

标题 作者 最后发表
[站外] 最好的文本编辑器SciTE配置方法详细实例   [转帖] skyremember 2008-10-21
点击阅读更多关于的相关帖子  更多相关主题