Visual Basic 6.0常用工具入门教程代码实例
发布时间:2016-08-30, 16:51:20 分类:VB | 编辑 off 网址 | 辅助
图集1/2
正文 20509字数 1,134,983阅读
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Sub Command1_Click()
SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '取消置顶
pth = "d:\date_save" 'App.Path '新建文件夹所在的路径
fd = Format(Date, "yyyy年mm月dd日") '新建文件夹名称
t = Dir(pth, vbDirectory)
If t = "" Then MkDir (pth) 'MsgBox "路径不存在!": 'Exit Sub
t = Dir(pth & "\" & fd, vbDirectory)
If t <> "" Then Shell "explorer.exe " & pth & "\" & fd, vbNormalFocus: Exit Sub 'MsgBox "文件夹已存在!"
MkDir pth & "\" & fd
t = Dir(pth & "\" & fd, vbDirectory)
If t <> "" Then Shell "explorer.exe " & pth & "\" & fd, vbNormalFocus
End Sub
Private Sub Command2_Click()
Clipboard.Clear
Clipboard.SetText Getpy(hanzi)
MsgBox "拼音已经复制到剪切板"
End Sub
Private Function Getpy(Txt)
Dim d, TmpTxt
Dim wzcode, i, TmpWZ, a, b, ii
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", -20319
d.Add "ai", -20317
d.Add "an", -20304
d.Add "ang", -20295
d.Add "ao", -20292
d.Add "ba", -20283
d.Add "bai", -20265
d.Add "ban", -20257
d.Add "bang", -20242
d.Add "bao", -20230
d.Add "bei", -20051
d.Add "ben", -20036
d.Add "beng", -20032
d.Add "bi", -20026
d.Add "bian", -20002
d.Add "biao", -19990
d.Add "bie", -19986
d.Add "bin", -19982
d.Add "bing", -19976
d.Add "bo", -19805
d.Add "bu", -19784
d.Add "ca", -19775
d.Add "cai", -19774
d.Add "can", -19763
d.Add "cang", -19756
d.Add "cao", -19751
d.Add "ce", -19746
d.Add "ceng", -19741
d.Add "cha", -19739
d.Add "chai", -19728
d.Add "chan", -19725
d.Add "chang", -19715
d.Add "chao", -19540
d.Add "che", -19531
d.Add "chen", -19525
d.Add "cheng", -19515
d.Add "chi", -19500
d.Add "chong", -19484
d.Add "chou", -19479
d.Add "chu", -19467
d.Add "chuai", -19289
d.Add "chuan", -19288
d.Add "chuang", -19281
d.Add "chui", -19275
d.Add "chun", -19270
d.Add "chuo", -19263
d.Add "ci", -19261
d.Add "cong", -19249
d.Add "cou", -19243
d.Add "cu", -19242
d.Add "cuan", -19238
d.Add "cui", -19235
d.Add "cun", -19227
d.Add "cuo", -19224
d.Add "da", -19218
d.Add "dai", -19212
d.Add "dan", -19038
d.Add "dang", -19023
d.Add "dao", -19018
d.Add "de", -19006
d.Add "deng", -19003
d.Add "di", -18996
d.Add "dian", -18977
d.Add "diao", -18961
d.Add "die", -18952
d.Add "ding", -18783
d.Add "diu", -18774
d.Add "dong", -18773
d.Add "dou", -18763
d.Add "du", -18756
d.Add "duan", -18741
d.Add "dui", -18735
d.Add "dun", -18731
d.Add "duo", -18722
d.Add "e", -18710
d.Add "en", -18697
d.Add "er", -18696
d.Add "fa", -18526
d.Add "fan", -18518
d.Add "fang", -18501
d.Add "fei", -18490
d.Add "fen", -18478
d.Add "feng", -18463
d.Add "fo", -18448
d.Add "fou", -18447
d.Add "fu", -18446
d.Add "ga", -18239
d.Add "gai", -18237
d.Add "gan", -18231
d.Add "gang", -18220
d.Add "gao", -18211
d.Add "ge", -18201
d.Add "gei", -18184
d.Add "gen", -18183
d.Add "geng", -18181
d.Add "gong", -18012
d.Add "gou", -17997
d.Add "gu", -17988
d.Add "gua", -17970
d.Add "guai", -17964
d.Add "guan", -17961
d.Add "guang", -17950
d.Add "gui", -17947
d.Add "gun", -17931
d.Add "guo", -17928
d.Add "ha", -17922
d.Add "hai", -17759
d.Add "han", -17752
d.Add "hang", -17733
d.Add "hao", -17730
d.Add "he", -17721
d.Add "hei", -17703
d.Add "hen", -17701
d.Add "heng", -17697
d.Add "hong", -17692
d.Add "hou", -17683
d.Add "hu", -17676
d.Add "hua", -17496
d.Add "huai", -17487
d.Add "huan", -17482
d.Add "huang", -17468
d.Add "hui", -17454
d.Add "hun", -17433
d.Add "huo", -17427
d.Add "ji", -17417
d.Add "jia", -17202
d.Add "jian", -17185
d.Add "jiang", -16983
d.Add "jiao", -16970
d.Add "jie", -16942
d.Add "jin", -16915
d.Add "jing", -16733
d.Add "jiong", -16708
d.Add "jiu", -16706
d.Add "ju", -16689
d.Add "juan", -16664
d.Add "jue", -16657
d.Add "jun", -16647
d.Add "ka", -16474
d.Add "kai", -16470
d.Add "kan", -16465
d.Add "kang", -16459
d.Add "kao", -16452
d.Add "ke", -16448
d.Add "ken", -16433
d.Add "keng", -16429
d.Add "kong", -16427
d.Add "kou", -16423
d.Add "ku", -16419
d.Add "kua", -16412
d.Add "kuai", -16407
d.Add "kuan", -16403
d.Add "kuang", -16401
d.Add "kui", -16393
d.Add "kun", -16220
d.Add "kuo", -16216
d.Add "la", -16212
d.Add "lai", -16205
d.Add "lan", -16202
d.Add "lang", -16187
d.Add "lao", -16180
d.Add "le", -16171
d.Add "lei", -16169
d.Add "leng", -16158
d.Add "li", -16155
d.Add "lia", -15959
d.Add "lian", -15958
d.Add "liang", -15944
d.Add "liao", -15933
d.Add "lie", -15920
d.Add "lin", -15915
d.Add "ling", -15903
d.Add "liu", -15889
d.Add "long", -15878
d.Add "lou", -15707
d.Add "lu", -15701
d.Add "lv", -15681
d.Add "luan", -15667
d.Add "lue", -15661
d.Add "lun", -15659
d.Add "luo", -15652
d.Add "ma", -15640
d.Add "mai", -15631
d.Add "man", -15625
d.Add "mang", -15454
d.Add "mao", -15448
d.Add "me", -15436
d.Add "mei", -15435
d.Add "men", -15419
d.Add "meng", -15416
d.Add "mi", -15408
d.Add "mian", -15394
d.Add "miao", -15385
d.Add "mie", -15377
d.Add "min", -15375
d.Add "ming", -15369
d.Add "miu", -15363
d.Add "mo", -15362
d.Add "mou", -15183
d.Add "mu", -15180
d.Add "na", -15165
d.Add "nai", -15158
d.Add "nan", -15153
d.Add "nang", -15150
d.Add "nao", -15149
d.Add "ne", -15144
d.Add "nei", -15143
d.Add "nen", -15141
d.Add "neng", -15140
d.Add "ni", -15139
d.Add "nian", -15128
d.Add "niang", -15121
d.Add "niao", -15119
d.Add "nie", -15117
d.Add "nin", -15110
d.Add "ning", -15109
d.Add "niu", -14941
d.Add "nong", -14937
d.Add "nu", -14933
d.Add "nv", -14930
d.Add "nuan", -14929
d.Add "nue", -14928
d.Add "nuo", -14926
d.Add "o", -14922
d.Add "ou", -14921
d.Add "pa", -14914
d.Add "pai", -14908
d.Add "pan", -14902
d.Add "pang", -14894
d.Add "pao", -14889
d.Add "pei", -14882
d.Add "pen", -14873
d.Add "peng", -14871
d.Add "pi", -14857
d.Add "pian", -14678
d.Add "piao", -14674
d.Add "pie", -14670
d.Add "pin", -14668
d.Add "ping", -14663
d.Add "po", -14654
d.Add "pu", -14645
d.Add "qi", -14630
d.Add "qia", -14594
d.Add "qian", -14429
d.Add "qiang", -14407
d.Add "qiao", -14399
d.Add "qie", -14384
d.Add "qin", -14379
d.Add "qing", -14368
d.Add "qiong", -14355
d.Add "qiu", -14353
d.Add "qu", -14345
d.Add "quan", -14170
d.Add "que", -14159
d.Add "qun", -14151
d.Add "ran", -14149
d.Add "rang", -14145
d.Add "rao", -14140
d.Add "re", -14137
d.Add "ren", -14135
d.Add "reng", -14125
d.Add "ri", -14123
d.Add "rong", -14122
d.Add "rou", -14112
d.Add "ru", -14109
d.Add "ruan", -14099
d.Add "rui", -14097
d.Add "run", -14094
d.Add "ruo", -14092
d.Add "sa", -14090
d.Add "sai", -14087
d.Add "san", -14083
d.Add "sang", -13917
d.Add "sao", -13914
d.Add "se", -13910
d.Add "sen", -13907
d.Add "seng", -13906
d.Add "sha", -13905
d.Add "shai", -13896
d.Add "shan", -13894
d.Add "shang", -13878
d.Add "shao", -13870
d.Add "she", -13859
d.Add "shen", -13847
d.Add "sheng", -13831
d.Add "shi", -13658
d.Add "shou", -13611
d.Add "shu", -13601
d.Add "shua", -13406
d.Add "shuai", -13404
d.Add "shuan", -13400
d.Add "shuang", -13398
d.Add "shui", -13395
d.Add "shun", -13391
d.Add "shuo", -13387
d.Add "si", -13383
d.Add "song", -13367
d.Add "sou", -13359
d.Add "su", -13356
d.Add "suan", -13343
d.Add "sui", -13340
d.Add "sun", -13329
d.Add "suo", -13326
d.Add "ta", -13318
d.Add "tai", -13147
d.Add "tan", -13138
d.Add "tang", -13120
d.Add "tao", -13107
d.Add "te", -13096
d.Add "teng", -13095
d.Add "ti", -13091
d.Add "tian", -13076
d.Add "tiao", -13068
d.Add "tie", -13063
d.Add "ting", -13060
d.Add "tong", -12888
d.Add "tou", -12875
d.Add "tu", -12871
d.Add "tuan", -12860
d.Add "tui", -12858
d.Add "tun", -12852
d.Add "tuo", -12849
d.Add "wa", -12838
d.Add "wai", -12831
d.Add "wan", -12829
d.Add "wang", -12812
d.Add "wei", -12802
d.Add "wen", -12607
d.Add "weng", -12597
d.Add "wo", -12594
d.Add "wu", -12585
d.Add "xi", -12556
d.Add "xia", -12359
d.Add "xian", -12346
d.Add "xiang", -12320
d.Add "xiao", -12300
d.Add "xie", -12120
d.Add "xin", -12099
d.Add "xing", -12089
d.Add "xiong", -12074
d.Add "xiu", -12067
d.Add "xu", -12058
d.Add "xuan", -12039
d.Add "xue", -11867
d.Add "xun", -11861
d.Add "ya", -11847
d.Add "yan", -11831
d.Add "yang", -11798
d.Add "yao", -11781
d.Add "ye", -11604
d.Add "yi", -11589
d.Add "yin", -11536
d.Add "ying", -11358
d.Add "yo", -11340
d.Add "yong", -11339
d.Add "you", -11324
d.Add "yu", -11303
d.Add "yuan", -11097
d.Add "yue", -11077
d.Add "yun", -11067
d.Add "za", -11055
d.Add "zai", -11052
d.Add "zan", -11045
d.Add "zang", -11041
d.Add "zao", -11038
d.Add "ze", -11024
d.Add "zei", -11020
d.Add "zen", -11019
d.Add "zeng", -11018
d.Add "zha", -11014
d.Add "zhai", -10838
d.Add "zhan", -10832
d.Add "zhang", -10815
d.Add "zhao", -10800
d.Add "zhe", -10790
d.Add "zhen", -10780
d.Add "zheng", -10764
d.Add "zhi", -10587
d.Add "zhong", -10544
d.Add "zhou", -10533
d.Add "zhu", -10519
d.Add "zhua", -10331
d.Add "zhuai", -10329
d.Add "zhuan", -10328
d.Add "zhuang", -10322
d.Add "zhui", -10315
d.Add "zhun", -10309
d.Add "zhuo", -10307
d.Add "zi", -10296
d.Add "zong", -10281
d.Add "zou", -10274
d.Add "zu", -10270
d.Add "zuan", -10262
d.Add "zui", -10260
d.Add "zun", -10256
d.Add "zuo", -10254
TmpTxt = ""
For i = 1 To Len(Txt)
wzcode = Asc(Mid(Txt, i, 1))
If wzcode > 0 And wzcode < 160 Then
TmpWZ = Chr(wzcode)
Else
If wzcode < -20319 Or wzcode > -10247 Then
TmpWZ = ""
Else
a = d.Items
b = d.keys
For ii = d.Count - 1 To 0 Step -1
If a(ii) <= wzcode Then Exit For
Next
TmpWZ = b(ii)
End If
End If
TmpTxt = TmpTxt & TmpWZ
Next
Set d = Nothing
Getpy = TmpTxt
End Function
Private Sub Command21_Click()
SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '取消置顶
pth = "d:\date_save_text"
t = Dir(pth, vbDirectory)
If t = "" Then MkDir (pth)
fd = "\" & Format(Date, "yyyy年mm月dd日") & ".txt"
If Dir(pth & fd) = "" Then
Open pth & fd For Output As #1
Close #1
End If
Shell "notepad.exe " & pth & fd, vbNormalFocus
End Sub
Private Sub guanji_Click()
Timer1.Enabled = True '启动控件
Timer1.Interval = 1000 '设定跳动频为1秒。1000=1秒
End Sub
Private Sub hanzi_Click()
'hanzi.SelText = ""
hanzi.Text = ""
hanzi.Locked = True
hanzi.SelText = Clipboard.GetText()
'hanzi.SelStart = 0
'hanzi.SelLength = Len(hanzi.Text)
'hanzi.SetFocus
Clipboard.Clear
ctext = Getpy(hanzi)
Label2.Caption = "转换成功 拼音已复制到剪切板" & vbCrLf & ctext
Clipboard.SetText ctext
'MsgBox "拼音已经复制到剪切板"
End Sub
Private Sub quxiao_Click()
quxiao.Visible = False
Label4.Caption = "0"
guanji.Caption = "开始倒计时关机"
Timer1.Enabled = False
Shell "Shutdown -a"
End Sub
Private Sub Timer1_Timer()
If Label4.Caption = "-1" Then
guanji.Caption = "即将关机"
Exit Sub
End If
If Label4.Caption = "1" Then
Shell "cmd /c" & "shutdown -s -t 0"
Label4.Caption = "-1"
Exit Sub
End If
If Label4.Caption = "0" Then
Label4.Caption = Text1.Text * 60 - 1 '以秒计时
Else
quxiao.Visible = True
Label4.Caption = Label4.Caption - 1
End If
guanji.Caption = Label4.Caption & "秒后关机"
End Sub
Private Sub Form_Load()
If App.PrevInstance Then
'MsgBox "系统不允许程序运行多次,请关闭后再试。", vbInformation, "系统提示"
Exit Sub
End If
'Me.ZOrder
SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '设置顶
With nfIconData
.hWnd = Me.hWnd
.uID = Me.Icon
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon.Handle
'定义鼠标移动到托盘上时显示的Tip
'.szTip = App.Title + "(版本 " & App.Major & "." & App.Minor & "." & App.Revision & ")" & vbNullChar
.cbSize = Len(nfIconData)
End With
Call Shell_NotifyIcon(NIM_ADD, nfIconData)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lMsg As Single
lMsg = X / Screen.TwipsPerPixelX
Select Case lMsg
Case WM_LBUTTONUP
'单击左键,显示窗体
ShowWindow Me.hWnd, SW_RESTORE
End Select
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cancel = False
End Sub
Run code
Cut to clipboard
模块
Option Explicit
Public Const MAX_TOOLTIP As Integer = 64
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206
Public Const SW_RESTORE = 9
Public Const SW_HIDE = 0
Public nfIconData As NOTIFYICONDATA
Public Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * MAX_TOOLTIP
End Type
Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Run code
Cut to clipboard
附件:常用工具箱
工程项目附件:upload/attach/tbs-HnG0eFQg2H.rar
VB最小化到托盘 附件:upload/attach/tbs-4KlNjHuBN3.rar
VB_ICO图标合集 附件:upload/attach/tbs-mxTZoWmj5n.rar
Visual Basic 6.0精简版(下载后修改文件后缀名 .rar)
VB中文在线手册
(支付宝)给作者钱财以资鼓励 (微信)→
有过 12 条评论 »
vb的窗口运行时位于最前端 SetWindowPos 就是完成设置窗口位置和状态(pos=position)的功能。源代码如下: Option Explicit Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Const HWND_TOPMOST& = -1 ' 将窗口置于列表顶部,并位于任何最顶部窗口的前面 Private Const SWP_NOSIZE& = &H1 ' 保持窗口大小 Private Const SWP_NOMOVE& = &H2 ' 保持窗口位置 Private Sub Form_Load() SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE ' 将窗口设为总在最前 End Sub
窗口置顶与取消 这里使用API实现 在变量定义处: Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 执行语句: SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '取消置顶 SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '设置顶
Private Function Getpy(Txt) Dim d, TmpTxt Dim wzcode, i, TmpWZ, a, b, ii Set d = CreateObject("Scripting.Dictionary") d.Add "a", -20319 d.Add "ai", -20317 d.Add "an", -20304 d.Add "ang", -20295 d.Add "ao", -20292 d.Add "ba", -20283 d.Add "bai", -20265 d.Add "ban", -20257 d.Add "bang", -20242 d.Add "bao", -20230 d.Add "bei", -20051 d.Add "ben", -20036 d.Add "beng", -20032 d.Add "bi", -20026 d.Add "bian", -20002 d.Add "biao", -19990 d.Add "bie", -19986 d.Add "bin", -19982 d.Add "bing", -19976 d.Add "bo", -19805 d.Add "bu", -19784 d.Add "ca", -19775 d.Add "cai", -19774 d.Add "can", -19763 d.Add "cang", -19756 d.Add "cao", -19751 d.Add "ce", -19746 d.Add "ceng", -19741 d.Add "cha", -19739 d.Add "chai", -19728 d.Add "chan", -19725 d.Add "chang", -19715 d.Add "chao", -19540 d.Add "che", -19531 d.Add "chen", -19525 d.Add "cheng", -19515 d.Add "chi", -19500 d.Add "chong", -19484 d.Add "chou", -19479 d.Add "chu", -19467 d.Add "chuai", -19289 d.Add "chuan", -19288 d.Add "chuang", -19281 d.Add "chui", -19275 d.Add "chun", -19270 d.Add "chuo", -19263 d.Add "ci", -19261 d.Add "cong", -19249 d.Add "cou", -19243 d.Add "cu", -19242 d.Add "cuan", -19238 d.Add "cui", -19235 d.Add "cun", -19227 d.Add "cuo", -19224 d.Add "da", -19218 d.Add "dai", -19212 d.Add "dan", -19038 d.Add "dang", -19023 d.Add "dao", -19018 d.Add "de", -19006 d.Add "deng", -19003 d.Add "di", -18996 d.Add "dian", -18977 d.Add "diao", -18961 d.Add "die", -18952 d.Add "ding", -18783 d.Add "diu", -18774 d.Add "dong", -18773 d.Add "dou", -18763 d.Add "du", -18756 d.Add "duan", -18741 d.Add "dui", -18735 d.Add "dun", -18731 d.Add "duo", -18722 d.Add "e", -18710 d.Add "en", -18697 d.Add "er", -18696 d.Add "fa", -18526 d.Add "fan", -18518 d.Add "fang", -18501 d.Add "fei", -18490 d.Add "fen", -18478 d.Add "feng", -18463 d.Add "fo", -18448 d.Add "fou", -18447 d.Add "fu", -18446 d.Add "ga", -18239 d.Add "gai", -18237 d.Add "gan", -18231 d.Add "gang", -18220 d.Add "gao", -18211 d.Add "ge", -18201 d.Add "gei", -18184 d.Add "gen", -18183 d.Add "geng", -18181 d.Add "gong", -18012 d.Add "gou", -17997 d.Add "gu", -17988 d.Add "gua", -17970 d.Add "guai", -17964 d.Add "guan", -17961 d.Add "guang", -17950 d.Add "gui", -17947 d.Add "gun", -17931 d.Add "guo", -17928 d.Add "ha", -17922 d.Add "hai", -17759 d.Add "han", -17752 d.Add "hang", -17733 d.Add "hao", -17730 d.Add "he", -17721 d.Add "hei", -17703 d.Add "hen", -17701 d.Add "heng", -17697 d.Add "hong", -17692 d.Add "hou", -17683 d.Add "hu", -17676 d.Add "hua", -17496 d.Add "huai", -17487 d.Add "huan", -17482 d.Add "huang", -17468 d.Add "hui", -17454 d.Add "hun", -17433 d.Add "huo", -17427 d.Add "ji", -17417 d.Add "jia", -17202 d.Add "jian", -17185 d.Add "jiang", -16983 d.Add "jiao", -16970 d.Add "jie", -16942 d.Add "jin", -16915 d.Add "jing", -16733 d.Add "jiong", -16708 d.Add "jiu", -16706 d.Add "ju", -16689 d.Add "juan", -16664 d.Add "jue", -16657 d.Add "jun", -16647 d.Add "ka", -16474 d.Add "kai", -16470 d.Add "kan", -16465 d.Add "kang", -16459 d.Add "kao", -16452 d.Add "ke", -16448 d.Add "ken", -16433 d.Add "keng", -16429 d.Add "kong", -16427 d.Add "kou", -16423 d.Add "ku", -16419 d.Add "kua", -16412 d.Add "kuai", -16407 d.Add "kuan", -16403 d.Add "kuang", -16401 d.Add "kui", -16393 d.Add "kun", -16220 d.Add "kuo", -16216 d.Add "la", -16212 d.Add "lai", -16205 d.Add "lan", -16202 d.Add "lang", -16187 d.Add "lao", -16180 d.Add "le", -16171 d.Add "lei", -16169 d.Add "leng", -16158 d.Add "li", -16155 d.Add "lia", -15959 d.Add "lian", -15958 d.Add "liang", -15944 d.Add "liao", -15933 d.Add "lie", -15920 d.Add "lin", -15915 d.Add "ling", -15903 d.Add "liu", -15889 d.Add "long", -15878 d.Add "lou", -15707 d.Add "lu", -15701 d.Add "lv", -15681 d.Add "luan", -15667 d.Add "lue", -15661 d.Add "lun", -15659 d.Add "luo", -15652 d.Add "ma", -15640 d.Add "mai", -15631 d.Add "man", -15625 d.Add "mang", -15454 d.Add "mao", -15448 d.Add "me", -15436 d.Add "mei", -15435 d.Add "men", -15419 d.Add "meng", -15416 d.Add "mi", -15408 d.Add "mian", -15394 d.Add "miao", -15385 d.Add "mie", -15377 d.Add "min", -15375 d.Add "ming", -15369 d.Add "miu", -15363 d.Add "mo", -15362 d.Add "mou", -15183 d.Add "mu", -15180 d.Add "na", -15165 d.Add "nai", -15158 d.Add "nan", -15153 d.Add "nang", -15150 d.Add "nao", -15149 d.Add "ne", -15144 d.Add "nei", -15143 d.Add "nen", -15141 d.Add "neng", -15140 d.Add "ni", -15139 d.Add "nian", -15128 d.Add "niang", -15121 d.Add "niao", -15119 d.Add "nie", -15117 d.Add "nin", -15110 d.Add "ning", -15109 d.Add "niu", -14941 d.Add "nong", -14937 d.Add "nu", -14933 d.Add "nv", -14930 d.Add "nuan", -14929 d.Add "nue", -14928 d.Add "nuo", -14926 d.Add "o", -14922 d.Add "ou", -14921 d.Add "pa", -14914 d.Add "pai", -14908 d.Add "pan", -14902 d.Add "pang", -14894 d.Add "pao", -14889 d.Add "pei", -14882 d.Add "pen", -14873 d.Add "peng", -14871 d.Add "pi", -14857 d.Add "pian", -14678 d.Add "piao", -14674 d.Add "pie", -14670 d.Add "pin", -14668 d.Add "ping", -14663 d.Add "po", -14654 d.Add "pu", -14645 d.Add "qi", -14630 d.Add "qia", -14594 d.Add "qian", -14429 d.Add "qiang", -14407 d.Add "qiao", -14399 d.Add "qie", -14384 d.Add "qin", -14379 d.Add "qing", -14368 d.Add "qiong", -14355 d.Add "qiu", -14353 d.Add "qu", -14345 d.Add "quan", -14170 d.Add "que", -14159 d.Add "qun", -14151 d.Add "ran", -14149 d.Add "rang", -14145 d.Add "rao", -14140 d.Add "re", -14137 d.Add "ren", -14135 d.Add "reng", -14125 d.Add "ri", -14123 d.Add "rong", -14122 d.Add "rou", -14112 d.Add "ru", -14109 d.Add "ruan", -14099 d.Add "rui", -14097 d.Add "run", -14094 d.Add "ruo", -14092 d.Add "sa", -14090 d.Add "sai", -14087 d.Add "san", -14083 d.Add "sang", -13917 d.Add "sao", -13914 d.Add "se", -13910 d.Add "sen", -13907 d.Add "seng", -13906 d.Add "sha", -13905 d.Add "shai", -13896 d.Add "shan", -13894 d.Add "shang", -13878 d.Add "shao", -13870 d.Add "she", -13859 d.Add "shen", -13847 d.Add "sheng", -13831 d.Add "shi", -13658 d.Add "shou", -13611 d.Add "shu", -13601 d.Add "shua", -13406 d.Add "shuai", -13404 d.Add "shuan", -13400 d.Add "shuang", -13398 d.Add "shui", -13395 d.Add "shun", -13391 d.Add "shuo", -13387 d.Add "si", -13383 d.Add "song", -13367 d.Add "sou", -13359 d.Add "su", -13356 d.Add "suan", -13343 d.Add "sui", -13340 d.Add "sun", -13329 d.Add "suo", -13326 d.Add "ta", -13318 d.Add "tai", -13147 d.Add "tan", -13138 d.Add "tang", -13120 d.Add "tao", -13107 d.Add "te", -13096 d.Add "teng", -13095 d.Add "ti", -13091 d.Add "tian", -13076 d.Add "tiao", -13068 d.Add "tie", -13063 d.Add "ting", -13060 d.Add "tong", -12888 d.Add "tou", -12875 d.Add "tu", -12871 d.Add "tuan", -12860 d.Add "tui", -12858 d.Add "tun", -12852 d.Add "tuo", -12849 d.Add "wa", -12838 d.Add "wai", -12831 d.Add "wan", -12829 d.Add "wang", -12812 d.Add "wei", -12802 d.Add "wen", -12607 d.Add "weng", -12597 d.Add "wo", -12594 d.Add "wu", -12585 d.Add "xi", -12556 d.Add "xia", -12359 d.Add "xian", -12346 d.Add "xiang", -12320 d.Add "xiao", -12300 d.Add "xie", -12120 d.Add "xin", -12099 d.Add "xing", -12089 d.Add "xiong", -12074 d.Add "xiu", -12067 d.Add "xu", -12058 d.Add "xuan", -12039 d.Add "xue", -11867 d.Add "xun", -11861 d.Add "ya", -11847 d.Add "yan", -11831 d.Add "yang", -11798 d.Add "yao", -11781 d.Add "ye", -11604 d.Add "yi", -11589 d.Add "yin", -11536 d.Add "ying", -11358 d.Add "yo", -11340 d.Add "yong", -11339 d.Add "you", -11324 d.Add "yu", -11303 d.Add "yuan", -11097 d.Add "yue", -11077 d.Add "yun", -11067 d.Add "za", -11055 d.Add "zai", -11052 d.Add "zan", -11045 d.Add "zang", -11041 d.Add "zao", -11038 d.Add "ze", -11024 d.Add "zei", -11020 d.Add "zen", -11019 d.Add "zeng", -11018 d.Add "zha", -11014 d.Add "zhai", -10838 d.Add "zhan", -10832 d.Add "zhang", -10815 d.Add "zhao", -10800 d.Add "zhe", -10790 d.Add "zhen", -10780 d.Add "zheng", -10764 d.Add "zhi", -10587 d.Add "zhong", -10544 d.Add "zhou", -10533 d.Add "zhu", -10519 d.Add "zhua", -10331 d.Add "zhuai", -10329 d.Add "zhuan", -10328 d.Add "zhuang", -10322 d.Add "zhui", -10315 d.Add "zhun", -10309 d.Add "zhuo", -10307 d.Add "zi", -10296 d.Add "zong", -10281 d.Add "zou", -10274 d.Add "zu", -10270 d.Add "zuan", -10262 d.Add "zui", -10260 d.Add "zun", -10256 d.Add "zuo", -10254 TmpTxt = "" For i = 1 To Len(Txt) wzcode = Asc(Mid(Txt, i, 1)) If wzcode > 0 And wzcode < 160 Then TmpWZ = Chr(wzcode) Else If wzcode < -20319 Or wzcode > -10247 Then TmpWZ = "" Else a = d.Items b = d.keys For ii = d.Count - 1 To 0 Step -1 If a(ii) <= wzcode Then Exit For Next TmpWZ = b(ii) End If End If TmpTxt = TmpTxt & TmpWZ Next Set d = Nothing Getpy = TmpTxt End Function
'调用 Private Sub Form_Load() MsgBox Getpy("新兴网络") End Sub
Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 'Private Declare Function SetFocusAPI& Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) 'Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function OpenIcon Lib "user32" (ByVal hwnd As Long) As Long Private Sub Form_Load() If App.PrevInstance Then 'MsgBox "系统不允许程序运行多次,请关闭后再试。", vbInformation, "系统提示" Unload Me 'Exit Sub 'Me.SetFocus Dim i As Long i = FindWindow(vbNullString, "自动关机") 'MsgBox& i '显示窗体句柄 'SetForegroundWindow i 'SetFocusAPI& i OpenIcon (i) '最小化窗口还原 End End If 'Me.ZOrder SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE '设置顶 End Sub Private Sub guanji_Click() Timer1.Enabled = True '启动控件 Timer1.Interval = 1000 '设定跳动频为1秒。1000=1秒 End Sub Private Sub quxiao_Click() 'quxiao.Visible = False Label4.Caption = "0" guanji.Caption = "开始倒计时关机" Timer1.Enabled = False Shell "Shutdown -a" End Sub Private Sub Timer1_Timer() If Label4.Caption = "-1" Then guanji.Caption = "即将关机" Exit Sub End If If Label4.Caption = "1" Then Shell "cmd /c" & "shutdown -s -t 0" Label4.Caption = "-1" Exit Sub End If If Label4.Caption = "0" Then Label4.Caption = Text1.Text * 60 - 1 '以秒计时 Else quxiao.Visible = True Label4.Caption = Label4.Caption - 1 End If guanji.Caption = Label4.Caption & "秒后关机" End Sub
程序下载 (下载后文件后缀修改 .exe)
1.App.Path 返回或设置当前路径。在设计时是不可用的。 比如你写了个程序,然后放在“C:\MyPrograme”下,则 Print App.Path就会打印出C:\MyPrograme。 2.App.EXEName 返回当前正运行的可执行文件的根名(也就是应用程序的名称,不带扩展名)。如果是在开发环境下运行,则返回该工程名。 比较你编译后生成的文件为Hello.exe,则Print App.EXEName会打印Hello(不带.exe)。 3.App.PrevInstance 属性 用来判断是否已经有前一个应用程序实例在运行。 比如说,你写了个程序Good.exe,你若不想运行程序后还没有关闭,但不想再打开一个(重复运行)。你可以在窗体的Form_Load()事件中这样判断。 If App.PrevInstance = Ture Then MsgBox "程序已经打开。",vbInformation,"温馨提示:" End End If 这样你就不会重复打开多次了。 不知道我的回答你是否满意,欢迎随时交流。 追问 先谢谢你,我列出来的我早就知道,能介绍我没列出来的吗?谢谢 追答 这个有点多,呵呵。 1.Comments 属性 返回或设置一个字符串,该字符串包括运行中的应用程序的注释。该属性在运行时是只读的。 2.CompanyName 属性 返回或设置一个字符串,该字符串包括运行中的应用程序的公司或创建者名称。该属性在运行时是只读的。 3.FileDescription 属性 返回或设置一个字符串,该字符串包括运行中应用程序的文件说明信息。该属性在运行时是只读的。 4.Major属性 返回或设置该工程的主要版本号。该属性在运行时是只读的。 5.Minor 属性 返回或设置该工程的小版本号。该属性在运行时是只读的。 若有问题,欢迎随时交流。
vb中FindWindow函数可以用来返回窗体的句柄。 1、VB6.0中的API声明: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 2、具体使用: dim i as long i=FindWindow(vbNullString,"窗体的标题") 注意:这里的vbNullString是空的,没有任何字符,即不传递。和""空字符串是不一样的! 3、例子: 有一个标题名字是计算器的窗体或软件,获取这个计算器的句柄 Option Explicit Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Sub Command1_Click() Dim i As Long i = FindWindow(vbNullString, "计算器") msgbox& i '显示窗体句柄 End sub
VB检查自身程序已经运行
Private Sub Form_Load() If App.PrevInstance Then End End If End Sub 用DDE实现窗体防止运行多个实例并传递命令 上网的朋友一定都用过网络蚂蚁(Net Ants)的吧?不知你在使用过程中有没有注意过,那就是如果你想调动两个“蚂蚁”为您效力是不可能的——它总会把新运行的关闭。这点在VB中很容易实现: Private Sub Form_Load() If App.PrevInstance Then MsgBox "你已经运行这个应用程序了" End ' 退出新运行的程序 End If End Sub 这样如果你运行这个程序后在运行它,它会弹出一个消息框并拒绝再次运行。这非常容易。 而“蚂蚁”程序的妙处就在于:在重复运行“蚂蚁”时它不仅拒绝运行,而且能把已经运行的“蚂蚁”激活,这样用上面的程序就无能为力了。但事实上实现拒绝运行并激活已运行的 程序有多种方法: 1、用FindWindow函数得到已经运行窗体的句柄(HWND),然后用SetActiveWindow等API函数将其激活。其缺点也很明显,那就是没法传递参数。 2、用FindWindow函数得到已运行窗体的句柄后用SendMessage的方法给窗体传送一个自定义消息(附带参数),然后在窗体中拦截并进行处理,但这样做要修改窗体的标准消息处理程序,用在VC,BC或DELPHI编写的程序中还行,但在VB中工作量太大,并且容易发生“一般保护行错误”使VB崩溃,不太可取(当然,如果你有足够的信心和不怕崩溃的精神,也可以试一下 ^_^ )。 3、使用DDE技术。 所谓DDE技术,就是动态数据交换技术。也许你很奇怪,这与本文所讨论的内容有什么相干的? 且听我慢慢讲来。 为了实现拒绝运行并把已经运行的程序激活并实现各种功能,我们可以先用本文开头提到的方法,检测一下程序有没有被运行过,如果没有,就正常运行,如果已经被运行过,就打通与它的DDE通道,传给它一个(或一些)数据,然后由已经运行的程序对数据进行处理,再去实现各种“意想不到”的功能,这时也许就有人对这你的程序喊:“酷、酷……” ^_^ 好了,耳听为虚,眼见为实,下面让我们动点真格的。 打开VB,新建一个工程,选择菜单中的“工程->工程1 属性”,把工程名称改为“P1”(我爱偷懒,能短则短 ^_^ ),把已有的一个窗体的“LinkTopic”属性改为“FormDDE”,把“LinkMode”属性改为“1 - Source”,添加一个PictureBox控件作为DDE执行控件,命名为picDDE。然后添加一个TextBox控件,命名为“txtInfo”,并把“MultiLine”属性设置为“True”,以便显示多行文本,作为消息显示控件。 最后在窗体代码区输入以下代码: Const COMMANDLINE = "CommandLine=" ' 还是为了省事,定义一个常量 Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer) Static lngCount As Long Dim Info As String Info = txtInfo.Text ' 保留原有信息 Select Case CmdStr ' CmdStr 是DDE程序传送过来的参数 Case "Max" Me.WindowState = 2 Info = Info + vbNewLine + "窗体已被最大化" Case "ShowTime" Info = Info + vbNewLine + "最后一次运行这个程序的时间是:" + Str(Now) Case "Count" lngCount = lngCount + 1 Info = Info + vbNewLine + "你已经第" + Str(lngCount) + "次重复调用这个程序。" _ + vbNewLine + "但怕您不多给工资,所以只运行了一个 ^_^" End Select If Left(CmdStr, Len(COMMANDLINE)) = COMMANDLINE Then Info = Info + vbNewLine + "新程序曾以命令行形式运行" + vbNewLine + "命令行为:" _ + vbNewLine + Right(CmdStr, Len(CmdStr) - Len(COMMANDLINE)) End If txtInfo.Text = Info ' 把信息显示出来 Cancel = False End Sub Private Sub LinkAndSendMessage(ByVal Msg As String) Dim t As Long picDDE.LinkMode = 0 '-- picDDE.LinkTopic = "P1|FormDDE" ' |______连接DDE程序并发送数据/参数 picDDE.LinkMode = 2 ' | “|”为管道符,是“退格键”旁边的竖线, picDDE.LinkExecute Msg '-- 不是字母或数字! t = picDDE.LinkTimeout '-- picDDE.LinkTimeout = 1 ' |______终止DDE通道。当然,也可以用别的方法 picDDE.LinkMode = 0 ' | 这里用的是超时强制终止的方法 picDDE.LinkTimeout = t '-- End Sub Private Sub Form_Load() If App.PrevInstance Then ' 程序是否已经运行 Me.LinkTopic = "" ' 这两行用于清除新运行的程序的DDE服务器属性, Me.LinkMode = 0 ' 否则在连接DDE程序时会出乱子的 LinkAndSendMessage "Max" '-- LinkAndSendMessage "Count" ' |-----连接DDE接受程序并传送数据/参数 LinkAndSendMessage "ShowTime" '-- If Command <> "" Then ' 如果有命令行参数,就传递过去 LinkAndSendMessage COMMANDLINE + Command End If End ' 结束新程序的运行 End If End Sub 测试一下: 把工程“P1”编译成EXE文件(设名称为 P1.EXE ) 1、打开“我的电脑”,找到 P1.EXE 并执行。可以看到程序正常运行了。 2、再运行一次,这次新程序没有运行成功,而原来运行的程序却被最大化了,而且文本框中有以下 字符: 窗体已被最大化 你已经第 1次重复调用这个程序。 但怕您不多给工资,所以只运行了一个 ^_^ 最后一次运行这个程序的时间是:00-2-6 7:11:01 3、打开 MS-DOS方式 ,用命令行方式再次运行程序,如 “P1 How Are You?” 这时原来运行的程序文本框中又多了几行字: 窗体已被最大化 你已经第 2次重复调用这个程序。 但怕您不多给工资,所以只运行了一个 ^_^ 最后一次运行这个程序的时间是:00-2-6 7:14:32 新程序曾以命令行形式运行 命令行为: How Are You? OK,运行完全正确,然后你就可以把它应用的你的程序中了。
Declare Function OpenIcon Lib "user32" Alias "OpenIcon" (ByVal hwnd As Long) As Long 说明 恢复一个最小化的程序,并将其激活 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 参数 类型及说明 hwnd Long,欲恢复的窗口 注解 针对vb窗体,应使用vb的WindowState属性
AutoRedraw = True 开启自动重绘功能,使窗体print事件产生的字不消失