找回密码
 加入
搜索
查看: 1704|回复: 5

[网络通信] [已解决] 有什么语句可以将自我窗口输出为图片?

[复制链接]
发表于 2019-11-29 13:43:52 | 显示全部楼层 |阅读模式
本帖最后由 chishingchan 于 2019-11-29 23:01 编辑
Msgbox(0, "", "Hello World!")



弹出窗口后输出 *.png (如上图)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-11-29 14:27:13 | 显示全部楼层
_ScreenCapture_CaptureWnd
捕捉指定窗口或控件 ID 的屏幕快照


评分

参与人数 1威望 +2 金钱 +50 收起 理由
chishingchan + 2 + 50 很给力!

查看全部评分

 楼主| 发表于 2019-11-29 21:43:59 | 显示全部楼层
本帖最后由 chishingchan 于 2019-11-29 21:51 编辑
chzj589 发表于 2019-11-29 14:27
_ScreenCapture_CaptureWnd
捕捉指定窗口或控件 ID 的屏幕快照

这语句对 GUI 来说很好!偏偏这个简单的 msgbox 语句不存在句柄。
#include <ScreenCapture.au3>

$hWnd = Msgbox(0, "", "Hello World!")
_ScreenCapture_CaptureWnd(@TempDir & "\HW.png", $hWnd)
可能是到了截图的语句时,Msgbox 语句已过了!
#include <ScreenCapture.au3>

Msgbox(0, "", "Hello World!", 3)
$hWnd = WinGetHandle("", "Hello World!")
_ScreenCapture_CaptureWnd(@TempDir & "\HW.png", $hWnd)
发表于 2019-11-29 21:59:31 | 显示全部楼层
chishingchan 发表于 2019-11-29 21:43
这语句对 GUI 来说很好!偏偏这个简单的 msgbox 语句不存在句柄。

可能是到了截图的语句时,Msgbox 语 ...
#include <WinAPISys.au3>
#include <ScreenCapture.au3>

Local $fPic = '1.png'
Local $hTimerProc = DllCallbackRegister('_TimerProc', 'none', 'hwnd;uint;uint_ptr;dword')
Local $iTimerID = _WinAPI_SetTimer(0, 0, 100, DllCallbackGetPtr($hTimerProc))
Msgbox(0, '', 'Hello World!')
_WinAPI_KillTimer(0, $iTimerID)
DllCallbackFree($hTimerProc)

Func _TimerProc($hWnd, $iMsg, $iTimerID, $iTime)
        Local $hWin = WinGetHandle('', 'Hello World!')
        If Not @error Then
                _ScreenCapture_CaptureWnd($fPic, $hWin, 0, 0, -1, -1, False)
                _WinAPI_KillTimer(0, $iTimerID)
                DllCallbackFree($hTimerProc)
        EndIf
EndFunc   ;==>_TimerProc

评分

参与人数 1威望 +2 金钱 +100 贡献 +10 收起 理由
chishingchan + 2 + 100 + 10 很给力!

查看全部评分

 楼主| 发表于 2019-11-29 22:12:20 | 显示全部楼层

不容易理解,慢慢消化吧!谢谢!
发表于 2019-11-30 12:02:36 | 显示全部楼层
chishingchan 发表于 2019-11-29 22:12
不容易理解,慢慢消化吧!谢谢!

就是加一个定时器在消息框弹出之前执行,相当于多开了个简单的线程
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 07:11 , Processed in 0.082030 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表