您的位置:首页 > 编程语言 > VB

[VB.NET]关于多线程和截图保存的问题!

2008-12-26 23:20 429 查看



<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

关于多线程和截图保存的问题!
问题是这样的,以下的几行代码,如果我在form_load事件中就能正常运行,而当我用多线程,单独创建一个线程运行时,老是会在第四行处,提示"未将对像引用设置到对像实例" 请问,,这到底是怎么回事呢?

My.Computer.Keyboard.SendKeys("^{prtsc}", True)
Dim img As Image
img = My.Computer.Clipboard.GetImage
img.Save("c:/tmp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
__________________________________________________________________________
问题是这样的,以下的几行代码,如果我在form_load事件中就能正常运行,而当我用多线程,单独创建一个线程运行时,老是会在第四行处,提示"未将对像引用设置到对像实例" 请问,,这到底是怎么回事呢?

My.Computer.Keyboard.SendKeys("^{prtsc}", True)
Dim img As Image
img = My.Computer.Clipboard.GetImage
img.Save("c:/tmp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
__________________________________________________________________________
晕啊....沉得这么快..自己顶上去先...
__________________________________________________________________________
晕死...没人回答呀....
__________________________________________________________________________
你的操作跨线程操作了,用委托。
Delegate Sub t1()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim thread As New Thread(AddressOf test)
thread.Start()
End Sub
Sub test()
Me.BeginInvoke(New t1(AddressOf t2))
End Sub
Sub t2()
My.Computer.Keyboard.SendKeys("^{prtsc}", True)
Dim img As Image
img = My.Computer.Clipboard.GetImage
img.Save("c:/tmp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
End Sub
__________________________________________________________________________
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程 vb.net image thread c