- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB实现远程共享显示与声音
VB实现远程共享显示及声音
在局域网内共享调制解调器以及共享打印机都是我们非常熟悉的,而对于显示器和声卡的共享一般比较陌生。
当你在进行教学、演示或展示时,也许你希望主控电脑上的画面同时也出现在其它电脑上;当你在跟踪调试程序时,你也许梦想过两台显示器能够同步,以便观看源代码时不破坏运行程序画面;还有,出于管理的目的,或许你需要远程监控其它电脑的运行状况,等等。上述所有情况都是远程共享显示的例子。 共享声卡的需求也不少:首先这可以降低硬件投资,让没有装或者没法装声卡的电脑(如某些笔记本电脑)也有了“喉舌”;其次,即使每台机器都有声卡也不无用武之地:至少你的 mp3背景音乐与你的英语有声软件不再经常发生冲突了;还有,共享声卡使得“远程有声通知”成为可能,其作用类似于立即型声音邮件,在日常工作中有广泛的应用。 共享显示器或声卡的硬件(一般在扩展槽内插一块卡)在市场上不难找到。但扩充本文的示例程序即可以用软件轻松实现这些功能。一、共享显示
我们通过一个完整的示例程序(VB 6.0)来说明。在例子中,被共享端(即服务器端)的任务是:自动捕获本机的当前显示画面,并将之传给共享端(即客户端)。 1. 服务器端程序(frmServer.frm) 这里有三点需要重点说明:一是自动捕获画面问题。为了模拟“捕获屏幕键”被按下的动作,程序里使用了 API调用 keybd_event。虽然VB的SendKeys语句也有类似功能,但它不如 keybd_event稳定和可靠。二是画面粘贴和压缩存储问题。为了能把已经被捕获到系统剪贴板中的图像粘贴下来并存储到文件,程序里使用了 ImgEdit控件。该控件强大的功能远非PictureBox控件或 Image控件可比。ImgEdit 不仅支持多种压缩图像格式(如 JPG、TIFF等),而且它对画面进行操纵和编辑的功能也非常强大(如图像旋转、缩放、嵌入等)。ImgEdit 还能对剪贴板进行Copy、Cut、Paste等操作。使用 Ctrl+T 或菜单(工程-部件)来添加 Windows标准的 ImgEdit控件(参见图一)。三是文件传输问题。用 ImgEdit存储的压缩文件一般只有 40 KB左右,使用 Winsock控件可以一次传输出去。但由于接收方的 Winsock控件一般是4K至8K调用一次 DataArrival子程,故程序使用主动分块进行传输,接收方确认后再发下一块。
服务器端源程序如下:
frmServer.frm Option Explicit Const FileName = C:\sys1.tmp, BlockSize = 3072 传送包大小 Private Declare Sub keybd_event Lib user32 _ (ByVal bVk As Byte, ByVal bScan As Byte, _ ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub Form_Load() tcpServer.LocalPort = 1001 设置监听端口号 tcpServer.Listen 开始监听 End Sub Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long) If tcpServer.State sckClosed Then tcpServer.Close tcpServer.Accept requestID tcpServer.SendData SH 成功连接后,发送“握手”信息 End Sub Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long) Static FileID As Integer, Cur_Pos As Long, FileLen As Long Dim strData As String, j Dim Buf() As Byte 定义一个可变大小的数组,用于传送二进制图像包 tcpServer.GetData strData Select Case strData Case Close 接到“Disconnect”命令后,关闭当前连接,并继续监听 tcpServer.Close ImgEdit1.ClearDisplay tcpServer.LocalPort = 1001 tcpServer.Listen Case Save Picture Call keybd_event(vbKeySnapshot, 1, 0,
您可能关注的文档
最近下载
- 2023年一级建造师工程经济历年真题章节练习题集.pdf VIP
- 《肺结核病报告转诊制度》.pdf VIP
- 脑梗塞ppt课件(精).pptx VIP
- 高血压、糖尿病培训试题(附答案).docx VIP
- pixelgridV4.5高分辨率卫星影像数据处理系统卫片使用手册.pdf VIP
- 贵州财经大学 法学综合(民法、经济法)A卷 2018年考研专业课真题.pdf VIP
- 2025年河南省高考对口升学烹饪试卷 .pdf VIP
- 贵州财经大学 法学综合(民法、经济法)B卷 2018年考研专业课真题.pdf VIP
- 论刑法中多次犯的理论与实践剖析:从概念厘定到司法适用.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(必威体育精装版).pdf VIP
文档评论(0)