首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb6.0调用API有关问题, 急

2012-10-16 
vb6.0调用API问题,求助~~~急~~~~GetDCStretchBlt我调用了上述两个API 并且用timer每隔40毫秒调用一次 stre

vb6.0调用API问题,求助~~~ 急~~~~
GetDC
StretchBlt
我调用了上述两个API 并且用timer每隔40毫秒调用一次 stretchblt。做的是双屏模式时的监视程序

Private Sub start()
StretchBlt hdc, 0, 0, 1366, 1366, GetDC(0), 1366, 0, 1366, 1366, Srccopy
End Sub

Private Sub Timer1_Timer()
start
End Sub

结果运行10分钟左右后 程序就死了 我查了一下有人说的内存泄漏 要 delete 或者 release 但是不知道怎么用

主要想问有没有什么办法解决运行10分钟后程序出错的问题 或者有谁知道 delet relase怎么用

(用的是vb6.0 程序死的时候 一开始先是stretchblt工作停止,监视窗的画面不再更新,然后整个程序未响应,包括VB6.0一起死了....)


[解决办法]
这个简单,就是你GetDC得到的那个dc用了后需要ReleaseDC,于是start函数可改为:

VB code
Private Sub start()Dim hDeskDc as LonghDeskDc =GetDC(0)StretchBlt hdc, 0, 0, 1366, 1366, hDeskDc, 1366, 0, 1366, 1366, SrccopyReleaseDC 0, hDeskDcEnd Sub 

热点排行