您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:19 来源:未知

本文章共2343字,分2页,当前第1页,快速翻页:
 
在局域网内共享调制解调器以及共享打印机都是我们非常熟悉的,而对于显示器和声卡的共享一般比较陌生。 当你在进行教学、演示或展示时,也许你希望主控电脑上的画面同时也出现在其它电脑上;当你在跟踪调试程序时,你也许梦想过两台显示器能够同步,以便观看源代码时不破坏运行程序画面;还有,出于管理的目的,或许你需要远程监控其它电脑的运行状况,等等。上述所有情况都是远程共享显示的例子。 共享声卡的需求也不少:首先这可以降低硬件投资,让没有装或者没法装声卡的电脑(如某些笔记本电脑)也有了“喉舌”;其次,即使每台机器都有声卡也不无用武之地:至少你的 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(
 
本文章更多内容1 - 2 - 下一页>>
相关文章

制作带有动画和声音的屏幕保护程序
用Visual Basic与MS-Draw开发通用作图软件
解除网虫心病 VB做定时断线程序
带有历史记录功能的菜单
如何用VB建立快捷方式
VB应用程序中打印条形码的两种方法
利用VB实现浮动按钮
在WindowsNT网络中广播消息
VB 从零开始编外挂(八)
API实现完美的图片出现效果
Love Letter病毒源代码
VB 从零开始编外挂(一)
用VB编写异步多线程下载程序
VB6中使用错误处理对程序速度的影响
用VB编写一个光驱保镖
用VB实现浮动按钮
在程序中打开 Internet 拨号连接窗口
用VB打造自己的SQL连接器
VB 从零开始编外挂(七)
VB创建位图菜单

相关评论


本文章所属分类:首页 VB

  热门关键字: