⑴ VB 中语言怎么屏蔽掉一段程序
除了英文的'没有其他特殊的符号,不过不用一个个添加英文的',你可以这样:
选中你要注释的多行文本》在代码模式下,右击工具栏,在弹出菜单里把“编辑”项选中(如果已经选中就不必选了)》点一下编辑工具栏里有几条横线的那个图标即可注释一段或几行。如图所示:在1处点击鼠标右键》选择编辑;在编辑工具栏中点击2处的“设置注释块”。
⑵ vb禁用其他程序
这是关闭代码如果不想让他打开可以用时钟控件
'form1中
'按钮事件下
Private Sub Command1_Click()
Term "notepad.exe" '关闭记事本程序,注意是进程名称
End Sub
'以下在模块中
Option Explicit
Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000
Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32MoleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Const PROCESS_ALL_ACCESS = &H1F0FFF
Public Function Term(exeN As String) As Boolean
Dim lPid As Long
Term = False
Dim hSnapShot As Long, uProcess As PROCESSENTRY32
On Error Resume Next
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
uProcess.dwSize = Len(uProcess)
lPid = Process32First(hSnapShot, uProcess)
Do While lPid '当返回值非零时继续获取下一个进程
If InStr(1, UCase(uProcess.szExeFile), UCase(exeN), vbTextCompare) Then
Call TerminateProcess(OpenProcess(1&, True, uProcess.th32ProcessID), 0&) '关闭进程
Term = True
End If
lPid = Process32Next(hSnapShot, uProcess) '循环获取下一个进程的PROCESSENTRY32结构信息数据
Loop
CloseHandle hSnapShot '关闭进程“快照”句柄
End Function
⑶ VB如何使程序运行后不能再运行其他软件
将窗口最大化,然后置顶,这样就没办法了,除了用任务管理器之类的东东才能解开。如果再加上检测任务管理器的语句,那基本上对付一般使用者足够了。
窗口置顶如下:
先加个API声明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
然后在LOAD事件中加上:
SetWindowPos Form1.hwnd, -1, 0, 0, 0, 0, 3
Form1.WindowState = 2
这样的话,基本对付一般般的人还是够了。当然,前提是你自己那程序中在置顶后还要能让你自己输入密码之类的东东,要不然,你也进不了了……
⑷ 怎样用vb程序来关闭其它应用程序
你可以使用API函数FindWindow和PostMessage来寻找一个窗口并且关闭它。下面的范例演示如何关闭一个标题为"Calculator"的窗口。
'下面的代码放到模块中
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 'FindWindowAPI函数
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 'PostMessageAPI函数
Public Const WM_CLOSE = &H10 '常用变量定义
'程序代码
Dim winHwnd As Long '定义一个长整形变量winHwnd
Dim RetVal As Long '定义一个长整形变量RetVal
winHwnd = FindWindow(vbNullString, "Calculator") 'API函数查找"Calculator"这个窗口
Debug.Print winHwnd '显示这个窗口句柄
If winHwnd <> 0 Then '如不为0,表示找到窗口
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&) '向这个窗口发送关闭信息
If RetVal = 0 Then '如果返回信息为0.表示失败,未发送成功
MsgBox "Error posting message." '提示发送失败
End If
Else
MsgBox "The Calculator is not open." '提示没有找到打开的程序
End If
⑸ vb中如何写一段代码禁用一个程序
给你个技巧:使另一个程序无法打开,只要执行一条语句:open “文件名(包括路径)” for input as #1 ‘就这样,不要用close关闭即可
要恢复能够打开程,只要写上:close #1 即可
简单吧!
⑹ 如何在运行指定程序时(VB编写),禁止其他程序打开
这个可能性不太大,因为VB对底层的操作比较差,不过你可以这样,用钩子拦截系统的信息流,判断,当系统的焦点要离开测验程序时(不要相信VB自己的那个窗体事件,在失去焦点这个事件上,VB根本判断不出来),测验程序记录入成绩并退出,再加上说明,这样就会让人无法离开测验程序后
再回来
了。当然,记录的成绩要保管好,最好用不同的
加密算法
加密后存到文件和注册表中各一份,每次启动测验程序后都要读出以前的两份成绩并对比,以保证没有被修改。
这样虽然严格了点,但应该可以对付一般的情况了,不过很可能对付不了那些
游戏修改工具
软件,还有VB生成的程序也有可能被破解,所以只能对付一般情况。
关键就是“某些键盘按钮失灵,点击以后让它没反应”这一点上,要想实现这一点,你就必须去拦截Windows的信息流,不让他得到“按键被按下”这个事件,而VB里的事件处理只是针对VB生成的程序本身的,你在VB里再怎么设置,顶多只是让VB生成的程序不对“按键被按下”这个事件有什么反应,Windows还是会得到这个事件,实际上Windows会在VB生成的程序前得到这个事件,所以,还是得用钩子,至于你说用钩子会变慢,那是一定的,就看慢多少了。
⑺ 如何使我的VB程序运行时不能操作别的程序
先去掉窗体上的关闭和最小化按钮,并且将窗口最大化
在使窗口总最前端
ControlBox属性=False
将WindowState设置为
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
Const
HWND_TOPMOST
=
-1
Const
SWP_SHOWWINDOW
=
&H40
Private
Sub
Form_load()
Dim
retValue
As
Long
'将窗体设置为处于所有窗口的顶层,注意在
VB
中运行时,可能不行,但编译成EXE后就可以了
retValue
=
SetWindowPos(Me.hwnd,
HWND_TOPMOST,
Me.CurrentX,
Me.CurrentY,
300,
300,
SWP_SHOWWINDOW)
End
Sub
就好了
⑻ VB如何禁止其它程序利用指定文件(即锁定文件)
一般的程序打不开。但360粉碎机可以粉碎…… 下面的1.txt这个路径自己改改
Private Sub Command1_Click()
On Error Resume Next
Dim A As String
Dim i As Long
Open "D:\1.txt" For Input As #1
i = 1
Do While Not EOF(1)
Line Input #1, A
i = i + 1
Open A For Binary Lock Read Write As #i
Loop
Close #1
End Sub