例二)系统登录检查 1.主要构件及属性设置: form1:caption:CheckUserheight、width:设为最小值 2.事件说明: //定义变量privatesize:cardinal;name:pchar;entry:boolean;{Privatedeclarations}procedureTCheckUser.FormShow(Sender:TObject);beginsize:=64;name:=StrAlloc(64);{检查用户名,判断是按了“取消”按钮还是键入了新用户名}ifGetUsername(name,size)thenifname=’wj’//‘wj’为笔者机器的登录用户名{在此,若允许的合法使用者不止一个,还可利用关系运算指定一个以上的用户进入。如:if(name=’computer1’)or(name=’computer2’)}thenentry:=true;close;end;procedureTCheckUser.FormClose(Sender:TObject;varAction:TCloseAction);beginifnotentrythenExitWindowsEx(EWX_REBOOT,32);//若用户名不对,则重新启动Windowsend;procedureTCheckUser.FormCreate(Sender:TObject);beginentry:=false;//设定初始值end; 编译完毕后,生成EXE文件,然后打开注册表—— 使用Regedit,找到HKEY_LOCAL_MACHINE/SOFTWARE/Micr/Windows/CurrentVersion/RUN 行,添加键值名(如:CheckUser)及键值(EXE文件所在的完整路径)。如图所示: 好了,重新启动一次,没有正确的密码还能进入吗 ? 三.没有“媒体播放器”的声音播放 日前做了一个小程序,想在“关于”窗口加上一段 声音说明,但小小的“关于”FORM放上一个长长的、Visible属性需为False的MediaPlayer构 件实在别扭。东查西找之下,还是靠API函数SNDPLAYSOUND()解决了问题——从而摆脱了MediaPlayer 的“束缚”。例三)使用API函数控制声音文件的播放:(部分代码) procedureTaboutBox.FormShow(Sender:TObject);begin//播放当前目录下的welcome.wav文件sndplaysound(‘welcome.wav’,snd_async)end;procedureTAboutBox.FormClick(Sender:TObject);begin//停止播放sndplaysound(‘’,snd_async);end; 别忘了,在USES子句中加入mmsystem单元。如果只 需要播放声音,那么一条API函数就能实现功能的还用得着MediaPlayer来大动干戈吗? 总之,使用DELPHI的“聪明的程序员”们应该充分 发挥DELPHI调用API函数方便快捷的优势,好好利用API函数以更好地为自己程序服务。  
2/2 首页 上一页 1 2 |