| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

VB技术

ASP技术
PHP技术
JSP技术
VB技术
.NET技术

本类阅读TOP10

·利用shell编程实现DOS风格的Linux命令行
·新手必学:windows网络编程经典入门
·通过连接实例解读TCP/IP协议
·JAVA生成JPG缩略图
·一组VB实用小程序
·VB解决Unicode文本转换的问题
·用VB制作屏幕保护程序
·Visual Basic开发应用程序答疑
·用VB6实现中英文文本的私钥加密
·用VB学做“黑客”程序

站内搜索

用VB实现程序之间的简单通信

  本人非常喜欢编程,对网络编程最感兴趣,所以就想编个程序到BBS上发帖子,达到提高经验值的目的。今天把它写出来,和大家一起分享。

  基本知识

  剪贴板在Windows中是一个好东东,在VB的编程中同样有用。在VB中,它其实就是ClipBoard对象,专门用于处理剪贴板上的文本和图像。使用之前最好先用Clear方法清除以前的内容。

  发送文本还可以利用的就是SendKeys方法。把你要发送的文本放入一个变量,比如MyStr中,然后使用“SendKeys MyStr”语句就可以了。但是SendKeys的功能并不只限于这样,它最大的作用是发送一个或多个击键动作到其他程序中,想要发送哪个键值,只要使用以下语句即可:

  SendKeys "该键在键盘注明的名称"

  这就为我们利用其他程序中的快捷键提供了可能,进而我们就可以在自己的程序中控制其他程序的动作。如果我们想发送Ctrl+V这个粘贴的指令,就可以用以下语句:

  SendKeys "^c"

  其中Ctrl用“^”来代替。类似的组合键还有Shift和Alt,分别用“+”和“%”(后面的例子中会用到Shift)。但是在用ClipBoard对象或SendKeys方法之前,还必须先用AppActivate语句激活需要通信程序的窗口。它的用法是:

  AppActivate +“所要激活应用程序窗口标题”

  比如一个记事本,正在编辑的文件名为my.txt,用以下语句来激活它要保持自己的程序:

  AppActivate "my.txt - 记事本" 。

  通信中还必须注意的问题就是和被调用程序运行之间的步调一致,也就是所谓的同步控制。那就要用到DoEvents函数,它的作用是转让控制权,以便操作系统处理事件。只要有意识地在程序中需要的地方加入DoEvents就可以了。在有多次的循环语句中,相信大家都使用过这个语句。与DoEvents相配合的还有就是一个API函数Sleep(),必须先声明:

  Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

  具体的Sleep时间需要自己去实践。

  代码实现

  要用到的基本知识已经讲完了,下面让我们来看看编写“灌水机”的部分关键代码:(其中DoEvents语句用汉字“返”代替,Sleep()函数用“等”汉字代替)

  Private Sub CmdBegin_Click()

  On Error GoTo 0

  '为字符串变量title和txtfromfile赋值的语句省略了,最好和文本文件结合使用。

  Clipboard.Clear

  Clipboard.SetText title

  AppActivate ("虎踞龙盘") '我用Cterm上的虎踞龙盘东南站,窗口标题为“虎踞龙盘”

  等,返,等 '即依次执行语句DoEvents Sleep (100) DoEvents,下同

  SendKeys ("^p") 'Cterm程序中发文用的快捷键

  返 SendKeys "+{insert}" 'Cterm程序中粘贴文本的快捷键

  返,等,返 SendKeys "{enter}" '发文必须用的回车动作

  返SendKeys "{enter}" 返,等,返

  '以上语句就实现了向Cterm程序发送文章的标题

  Clipboard.Clear

  Clipboard.SetText txtfromfile

  返,等,返

  SendKeys "+{insert}" 返

  SendKeys "^w" 'Cterm中的发文动作

  返 SendKeys "^w" 返

  SendKeys "{enter}" '一篇文章已经发送完毕,在以后的语句中进入下一个循环

  End Sub

  以上就是一个BBS发文程序的关键部分:与Cterm程序反复的进行通信,并进行同步的控制。它进行反复的循环,就会一篇篇地把本地机器上的文本传到BBS上(其实是仅仅传给了Cterm),这样利用程序间的通信,就避免了进行网络编程。

  文/崔彦锋, 赛迪网--中国电脑教育报




相关文章
  • 精通PHP的十大要点
  • VB解决Unicode文本转换的问题
  • 一个基于WEB的QQ程序
  • 使用xmlhttp查询域名是否被注的小程序
  • 用VB6实现中英文文本的私钥加密
  • 一组VB实用小程序
  • 用VB编写异步多线程下载程序
  • 屏保程序模板化完整源代码
  • VB中实现窗体自动隐藏
  • 用VB编写网络监控软件
  • VB到底为我们做了什么?
  • 键盘幽灵VB版
  • 用VB编写定时关闭计算机的程序
  • 用MCI命令做一个播放器
  • 使用VB在WIN2000下截获IP数据包
  • VB中字符串中文的问题
  • 用VB制作屏幕保护程序
  • VB枚举主机IP
  • 用VB编写一个弹出菜单类
  • 自己的IE——用VB制作浏览器
  • 相关软件

  • VBScript编辑器源码  
  • 字体观察器FontViewer源码  
  • 自动壁纸更换器源码[第二部分]  
  • 自动壁纸更换器源码[第一部分]  
  • WINDOWS 3.0终端程序的C源码  
  • 一个取得 CPU 信息的程序源码  
  • 广告窗口终结者源码  
  • 下载整个网站程序ssnag与源码  
  • CGI邮件程序源码  
  • ISAPI留言簿源码  



  • 月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有