关于VB按钮突破专家”之类的东西吧。。

来源:百度知道 编辑:UC知道 时间:2024/05/14 20:39:04
我想用VB做个按扭不可点击的,怎么才能就是别人用了按钮突破专家也没用, 那个按钮突破专家好像是用EnableWindow做的,
仅仅修改属性是没法弄得。
怎么才能弄个死循环,一直设置按钮为不可用呢?

你这种问题我曾见过,是在某个安装程序的执行过程中。在输入安装序列号的界面,“下一步”是灰色的,我使用按钮激活工具,但可以看出“下一步”以很快的频率不停地闪动(灰色-可用-灰色-可用...不停重复着),我判断安装程序采用了定时器使按钮不可用,这与你的想法如出一辙,但该按钮在可用的瞬间是可以获得焦点的,另外一个关键的漏洞,它是默认按钮,也就是说至少在我令焦点位于该按钮时,持续按下回车键,便可以实现点击该按钮的动作。而事实上,我正是通过回车键完成了点击动作。

另举一个例子,也是安装程序,同样是“下一步”禁用,我用按钮激活工具后,灰色按钮变得可用,而且不像前一个例子那样,而是老老实实等着我去按。可是无论怎么按,没有任何反应。也就是说,在未完成某项操作或未满足程序设定的某个条件前,按钮的单击是无效的。

综上,我不建议采用定时器之类的循环来限定按钮(第一个例子),由于循环存在间歇,所以这种方法是有漏洞的,而如果通过对条件的判断对按钮的单击事件加以控制的话会更好些(第二个例子)。

例:

Private Sub Command1_Click()

If regcode <> "12345" Then

Exit Sub
Else

'这里放置需要执行的代码

End If

End Sub

-------------------------------------

另,今天突然想到的办法,算是对付上面所说的例子1漏洞的,请你试试看。代码如下:

Private Sub Command1_GotFocus()

Command1.Enabled = False

End Sub

很简单,用 GotFocus 作为激发条件让 Command1 变为不可用。自我感觉挺管用的,呵呵

Private Sub Command1_Click()
MsgBox "123&