永发信息网

VB如何保存本窗体的截图 就像按alt+prtscr 保存窗体截图,但不要用发送按键 求大神解 ⊙

答案:2  悬赏:70  手机版
解决时间 2021-03-08 00:16
VB如何保存本窗体的截图
就像按alt+prtscr
保存窗体截图,但不要用发送按键
求大神解
⊙▽⊙
最佳答案
'添加如下声明
Private Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

'添加这个函数
Private Sub GetWndPic(Wnd As Long, Pic As PictureBox)
Dim R As RECT, DC As Long
GetWindowRect Wnd, R '获取指定窗口的左上角、右下角位置(以便获取其大小)
DC = GetWindowDC(Wnd) '得到dc
With Pic
.AutoRedraw = True: .BorderStyle = 0
.Parent.ScaleMode = vbPixels
.Move .Left, .Top, R.Right - R.Left, R.Bottom - R.Top '使PictureBox适合大小
BringWindowToTop Wnd '目标窗口提到前面(非置顶)
BitBlt .hdc, 0, 0, .Width, .Height, DC, 0, 0, vbSrcCopy '复制绘图
End With
ReleaseDC Wnd, DC '释放
End Sub

'调用示例(把句柄131454的程序窗口截图放到Picture1中)
GetWndPic 131454, Picture1
全部回答
搜一下:VB如何保存本窗体的截图 就像按alt+prtscr 保存窗体截图,但不要用发送按键 求大神解 ⊙
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
品位,旋律节奏好听的外文歌有?
一些人对自己所从事的职业不十分喜欢,但却能
丹东那个打篮球的馆对外出租
铁艺铆焊怎么去啊,有知道地址的么
搞个中小型马术俱乐部,附带户外休闲度假可以
为什么平均每家美国人都能买起两辆车 但是平
摆所镇信用社贷款人李加金电话号码
还有少年女孩能不能用维A酸乳膏吗?
请问一下,有没有东北的朋友,小时候在东北卖
门和门套是黑胡桃,配什么样的家具好,柜子做成
m228db怎么用wifi连接
沃尔玛兼职多少钱
2017学海导航物理答案
质检局这个地址在什么地方,我要处理点事
国企母公司能否分配其全资设立的子公司设立的
推荐资讯
小事浓情永难忘作文800字
在四川农村养什么最赚钱?
aq1039次航班在哪个窗口办理登机
电瓶电压低于多少V属于亏电
求幅图一个女生被绑在课桌上
名媛国际美容SPA会所这个地址在什么地方,我
在沈阳市内从市第七人民医院到荷兰村坐什么路
三斤的小狗一天要吃多少狗粮
成语大全,包括释义,造句,近义词,反义词,
固定义齿采用冠外固体位时,与义齿固位最直接
清苑县电力客户服务中心这个地址在什么地方,
20岁男孩喝碳酸饮料死亡(50字描写)
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?