当前位置:编程学习 > VB >>

VB下制作截屏小程序

如何在VB下制作一个截屏的小程序,类似QQ截图的,有会做的大侠麻烦发一个来,万分感谢!!! 网上有不少的代码吧,一搜就应该搜到了…………
http://hi.baidu.com/zmh886/item/043eb0ba5d16daadeaba93d5

http://www.veryhuo.com/down/html/29988.html
引用 2 楼 Chen8013 的回复:
http://hi.baidu.com/zmh886/item/043eb0ba5d16daadeaba93d5

http://www.veryhuo.com/down/html/29988.html

可以实现功能了,但是不能随心所欲的调用,而且运行时自动开启截屏也不好,能改成快捷键调用的方式吗? “关键代码”都已经有了。
 要想改成“按别的方式来调用”,还不容易吗?
引用 3 楼 u012715505 的回复:
Quote: 引用 2 楼 Chen8013 的回复:

http://hi.baidu.com/zmh886/item/043eb0ba5d16daadeaba93d5

http://www.veryhuo.com/down/html/29988.html

可以实现功能了,但是不能随心所欲的调用,而且运行时自动开启截屏也不好,能改成快捷键调用的方式吗?


google VB6 热键

http://download.csdn.net/detail/lemon_zhu/1694302
http://download.csdn.net/detail/ixiaokangoks/3299168
引用 5 楼 caozhy 的回复:
Quote: 引用 3 楼 u012715505 的回复:

Quote: 引用 2 楼 Chen8013 的回复:

http://hi.baidu.com/zmh886/item/043eb0ba5d16daadeaba93d5

http://www.veryhuo.com/down/html/29988.html

可以实现功能了,但是不能随心所欲的调用,而且运行时自动开启截屏也不好,能改成快捷键调用的方式吗?


google VB6 热键

http://download.csdn.net/detail/lemon_zhu/1694302
http://download.csdn.net/detail/ixiaokangoks/3299168


东西下载了,不会用啊,都是英文的,这是定义热键的程序吗?
引用 6 楼 u012715505 的回复:
东西下载了,不会用啊,都是英文的,这是定义热键的程序吗?

 象你这样,不动下脑筋,有代码也看不懂,恐怕难以得到快速长进啊…………

给你一个使用热键的示例。
新建一个 标准EXE工程,窗口内画一个 CommandButton 。 再添加一个标准模块。
运行后,窗口是隐藏的,按 Ctrl+F12 显示窗口。 点击Command1隐藏窗口。
程序中共注册了两个热键,Ctrl+F12 和 Ctrl+U 。
注意,用了HOOK,你调试运行时,一定要通过关闭窗口来结束程序,不点直接点停止。

代码如下:
' 窗体代码:
Option Explicit

Private Declare Function RegisterHotKey Lib "User32" (ByVal hWnd As Long, ByVal ID As Long, _
                                    ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "User32" (ByVal hWnd As Long, ByVal ID As Long) As Long

Private Const MOD_CONTROL  As Long = 2



Private Sub Command1_Click()
   Me.Hide
End Sub

Private Sub Form_Load()
      Dim lKeyFlag As Long
   Call HOOK(hWnd)
   ' 注册热键并标志是否成功
   lKeyFlag = RegisterHotKey(hWnd, 1, MOD_CONTROL, vbKeyF12)                  ' Ctrl + F12
   lKeyFlag = lKeyFlag * 2 + RegisterHotKey(hWnd, 2, MOD_CONTROL, vbKeyU)     ' Ctrl + U
   If (lKeyFlag = 3) Then
      Me.Visible = False
   Else
      MsgBox "注册热键失败!", 48
   End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Call UnHOOK(hWnd)
    Call UnregisterHotKey(hWnd, 1)
    Call UnregisterHotKey(hWnd, 2)
End Sub


' 标准模块代码:
Option Explicit

Private Declare Function CallWindowProc Lib "User32" Alias "CallWindowProcW" ( _
                                    ByVal lppreWinProc As Long, _
                                    ByVal hWnd As Long, ByVal Msg As Long, _
                                    ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongW" ( _
                                    ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongW" ( _
                                    ByVal hWnd As Long, ByVal nIndex As Long, _
                                    ByVal dwNewLong As Long) As Long

Private Const WM_HOTKEY    As Long = &H312
Private Const GWL_WNDPROC  As Long = -4

Private preWinProc As Long
'Private mlHookWnd As Long

Public Sub HOOK(hWnd As Long)
   preWinProc = GetWindowLong(hWnd, GWL_WNDPROC)
   Call SetWindowLong(hWnd, GWL_WNDPROC, AddressOf WndProc)
End Sub

Public Sub UnHOOK(hWnd As Long)
   Call SetWindowLong(hWnd, GWL_WNDPROC, preWinProc)
End Sub

' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'热键拦截过程
Private Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, _
                         ByVal wParam As Long, ByVal lParam As Long) As Long
   If (WM_HOTKEY = Msg) Then     ' 热键消息
      Call HotKeyDone(wParam)
   End If
   WndProc = CallWindowProc(preWinProc, hWnd, Msg, wParam, lParam)
End Function

Private Sub HotKeyDone(KeyID)
   If (KeyID > 2) Then Exit Sub
   If (KeyID = 1) Then
      Form1.Visible = True
   Else
      MsgBox "执行功能2……", vbInformation
   End If
End Sub
引用 6 楼 u012715505 的回复:
Quote: 引用 5 楼 caozhy 的回复:

Quote: 引用 3 楼 u012715505 的回复:

Quote: 引用 2 楼 Chen8013 的回复:

http://hi.baidu.com/zmh886/item/043eb0ba5d16daadeaba93d5

http://www.veryhuo.com/down/html/29988.html

可以实现功能了,但是不能随心所欲的调用,而且运行时自动开启截屏也不好,能改成快捷键调用的方式吗?


google VB6 热键

http://download.csdn.net/detail/lemon_zhu/1694302
http://download.csdn.net/detail/ixiaokangoks/3299168


东西下载了,不会用啊,都是英文的,这是定义热键的程序吗?

第一个是控件,直接拿来用就可以了。 话说你从头到尾都是不会。真让人沮丧。
补充:VB ,  控件
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,