V制作随机点名程序源码_第1页
V制作随机点名程序源码_第2页
V制作随机点名程序源码_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB制作幻灯片随机点名工具大家好,我是、灬尛坏坏"注:此程序适用于学校班级实用,此文是原创,转载请标明岀处,本次教程:这个在powerpoint里,完全和powerpoint结合起来,我简单写了一下,新建一个vb程序,在窗体上放一个label,一个timer和一个按钮,timer的interval设置为1,Enable设置为False。源码(不解释,自己研究):Dima(0To9)AsString|PrivateSubCommand1_Click()Timer1.Enabled=NotTimer1.Enabled|EndSubPrivateSubForm_Load()SetHotke

2、yMe.hwnd,1,0,vbKeyHome,"Add"a(0)="张三"a(1)="李四"a(2)="王五"a(3)="刘六"a(4)="牛七"a(5)="马八”a(6)="杨九"a(7)="苟十”a(8)="朱一"a(9)="吕十二EndSubPrivateSubForm_Unload(CancelAsInteger)SetHotkeyMe.hwnd,1,0,0,"Del"EndSu

3、bPrivateSubTimer1_Timer()DimiAsIntegeri=Int(Rnd*10)Labell.Caption=a(i)Labell.Tag=iEndSub新建一个模块,写入以下代码PrivateDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLongPrivateDeclareFunctionGetWindowLongLib"user32

4、"Alias"GetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong)AsLongPrivateDeclareFunctionCallWindowProcLib"user32"Alias"CallWindowProcA"(ByVallpPrevWndFuncAsLong,ByValhwndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLongPrivateDeclareFunctionRegisterHotK

5、eyLib"user32"(ByValhwndAsLong,ByValidAsLong,ByValfskey_ModifiersAsLong,ByValvkAsLong)AsLongPrivateDeclareFunctionUnregisterHotKeyLib"user32"(ByValhwndAsLong,ByValidAsLong)AsLongPublicDeclareFunctionShowWindowLib"user32"(ByVaihwndAsLong,ByVainCmdShowAsLong)AsLongPublicDe

6、clareSubkeybd_eventLib"user32"(ByVaibVkAsByte,ByVaiScanAsByte,ByVaidwFlagsAsLong,ByVaidwExtralnfoAsLong)PubiicDeciareFunctionSendMessageLib"user32"Aiias"SendMessageA"(ByVaihwndAsLong,ByVaiwMsgAsLong,ByVaiwParamAsLong,iParamAsAny)AsLongPubiicDeciareFunctionSetForegroundW

7、indowLib"user32"(ByVaihwndAsLong)AsLongConstSW_HIDE=0ConstSW_SHOW=5ConstWM_HOTKEY=&H312ConstMOD_ALT=&H1ConstMOD_CONTROL=&H2ConstMOD_SHIFT=&H4ConstGWL_WNDPROC=(-4)'窗口函数的地址DimFormlsShowingAsBooieanDimkey_preWinProcAsLong'用来保存窗口信息Dimkey_IsWinAddressAsBooiean'是否取得窗口

8、信息的判断FunctionkeyWndproc(ByVaihwndAsLong,ByVaiMsgAsLong,ByVaiwParamAsLong,ByVaiiParamAsLong)AsLongIfMsg=WM_HOTKEYThen值就是key_idHotKeySeiectCasewParam'wParamCase1'激活多个热键后,多个热键所对应的操作,大家在其他的程序中,只要修改此处就可以FormlsShowing=NotFormlsShowingIfFormlsShowingThenShowWindowhwnd,SW_HIDEElseShowWindowhwnd,SW_S

9、HOW'SendMessagehwnd,&H32,0,0SetForegroundWindowhwndEndIf'Case2'MsgBox"hide"'ShowWindowhwnd,SW_HIDEEndSelectEndIf'将消息传送给指定的窗口keyWndproc=CallWindowProc(key_preWinProc,hwnd,Msg,wParam,IParam)EndFunctionFunctionSetHotkey(ByValhwndAsLong,ByValKeyIdAsLong,ByValkeyControlK

10、eyAsLong,ByValkeyNormalKeyAsLong,ByValActionAsString),再最后恢复窗口Ifkey_IsWinAddress=FalseThen'判断是否需要取得窗口信息,如果重复取得时,将会造成程序死掉'记录原来的window程序地址key_preWinProc=GetWindowLong(hwnd,GWL_WNDPROC)'用自定义程序代替原来的window程序SetWindowLonghwnd,GWL_WNDPROC,AddressOfkeyWndprocEndIfSelectCaseActionCase"Add"向窗口注册系统热键恢复窗口信息RegisterHotKeyhwnd,Keyld,keyControlKey,keyNormalKeykey_lsWinAddress=True'不需要再取得窗口信息Case"Del&q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论