正在阅读:vb高手搜集-常见问题总结(2)vb高手搜集-常见问题总结(2)

2005-06-14 10:18 出处: 作者:阳光宝宝 责任编辑:moningfeng
关闭指定的程序   要做到像 Task Manager 一样,可以关闭指定的程序,方法如下:   在声明区中放入以下声明:(16位 改成 win31 API)   Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long   Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long   Public Const WM_CLOSE = &H10   以下之范例示范如何关闭一个视窗标题 (Caption) 为 【小算盘】的程序:

Dim winHwnd As Long Dim RetVal As Long winHwnd = FindWindow(vbNullString, "小算盘") Debug.Print winHwnd If winHwnd <> 0 Then RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&) If RetVal = 0 Then MsgBox "Error posting message." End If Else MsgBox "并未开启小算盘程序." End If

  如何隐藏及再显示鼠标   很简单,只用到了一个 ShowCursor API,参数也很简单,只有一个 bShow,设定值如下:   True:显示鼠标 / False:隐藏鼠标   Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long   如何从您的应程序中结束 Windows 重开机   很多软件在 Setup 完之后都会自动关机重开机,以便让某些设定值可以生效,其实这个功能很简单,只要几行指令就可以做到了!   关键就是要使用 ExitWindowsEx 这个 API,这个 API 只有二个参数,第一个参数是一个 Flag,目的是要告诉 Windows 要以什么方式关机,在下面的声明中会列出可用的 Flag 常数值,至于第二个参数则是一个保留值,只要设定成 0 就可以了。   很重要的一点是:如果您想要让关机动作更顺利,记得要 Unload 您的程序!   在声明区中 (Bas Module / Form Module) 加入以下声明:   Public Const EWX_LOGOFF = 0 '这四个常数值可以并用   Public Const EWX_SHUTDOWN = 1   Public Const EWX_REBOOT = 2   Public Const EWX_FORCE = 4   Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long   实例:如果您想强迫关机重开机,程序码如下:

ret = ExitWindowsEx(EWX_FORCE OR EWX_REBOOT, 0)

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品