能够通过API实现“把外部程序的RichTextBox控件,当做自己的内部控件一样的进行控制吗?”  100分求解

sakura2005 2005-12-27 11:52:55
我做的一个小程序,已经用API查找到了外部程序(如:写字版)的RichTextBox控件的句柄(hwnd),现在想用我的程序向这个RichTextBox发送如下的两条信息,实现查找和替换的功能:

  SendMessage hwnd, EM_FINDTEXTEX, FR_DOWN, fText
  SendMessage hwnd, EM_REPLACESEL, 0, ByVal FindAndReplace.TextReplace.Text
(PS:上述语句在对自己程序内部的RichTextBox使用时,正常通过)

  可是每次实验都会发生Windows报错,然后自动关闭“写字版”(或VB),后来,我查了一下资料,这应该是XP和2000等系统对程序的一种保护措施,看了网上的资料,说是用“共享文件”来做,可是看了一下,我觉得“共享文件”好象是把自己程序的内存进行共享,然后供其它的程序去控制,而不是把已经运行的某一个程序进行共享,让自己控制(可能我的理解有误 ^-^ ) 。
  那么,能够通过API实现“把外部程序的RichTextBox控件,当做自己的内部控件一样的进行控制吗?”要如何做呢??
...全文
341 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
VampireB 2006-04-26
  • 打赏
  • 举报
回复
“进程注入”,要怎么作啊?!,小弟,刚学不久,很多都不懂啊!
迈克揉索芙特 2006-01-26
  • 打赏
  • 举报
回复
进程注入
kmlxk0 2006-01-23
  • 打赏
  • 举报
回复
爽,northwolves(狼行天下) 给的是不是无控件使用RichTextBox,收藏~
zyl910 2006-01-23
  • 打赏
  • 举报
回复
RichTextBox是Win32新控件,不是传统的Wiundows3.0控件,所以Windows系统不会自动为它处理跨进程请求

在Win9X下,可以使用文件映射来实现跨进程分配内存
在WinNT下,可以调用VirtualAllocEx跨进程分配内存
请参考:
http://www.hosp.ncku.edu.tw/~cww/html/q00549.html
dongle2001 2006-01-23
  • 打赏
  • 举报
回复
VC里有个Attach函数可以通过句柄得到对象指针,不知vb有没有类似的函数,如果有那就不用麻烦了
daisy8675 2005-12-28
  • 打赏
  • 举报
回复
2个字,很难

而且对方不一定是richtextbox控件

不要把一切理解成为控件,而是com
James0001 2005-12-28
  • 打赏
  • 举报
回复
绿豆好像有类似的代码
在 WinNT 里用 VirtualAllocEx 来在目标进程里分配内存,然后把地址传给控件。
在 Win9x 里可以用文件映射来获得共享内存。
蒋晟 2005-12-28
  • 打赏
  • 举报
回复
要注入代码到对方进程。你传递的本进程内的内存地址在对方进程内是无效地址。
rainstormmaster 2005-12-28
  • 打赏
  • 举报
回复
//在 WinNT 里用 VirtualAllocEx 来在目标进程里分配内存,然后把地址传给控件。
在 Win9x 里可以用文件映射来获得共享内存。

就是这个意思,在WinNT下要用WriteProcessMemory和ReadProcessMemory读写内存,而在Win9x则要用copymemory,总之很麻烦就是了

给你个模块,内存分配的:
Option Explicit
'=========Checking OS staff=============
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (LpVersionInformation As OSVERSIONINFO) As Long

'========= Win95/98/ME Shared memory staff===============
Private Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, ByVal lpFileMappigAttributes As Long, ByVal flProtect As Long, ByVal dwMaximumSizeHigh As Long, ByVal dwMaximumSizeLow As Long, ByVal lpName As String) As Long
Private Declare Function MapViewOfFile Lib "kernel32" (ByVal hFileMappingObject As Long, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFileOffsetLow As Long, ByVal dwNumberOfBytesToMap As Long) As Long
Private Declare Function UnmapViewOfFile Lib "kernel32" (lpBaseAddress As Any) As Long
Const STANDARD_RIGHTS_REQUIRED = &HF0000
Const SECTION_QUERY = &H1
Const SECTION_MAP_WRITE = &H2
Const SECTION_MAP_READ = &H4
Const SECTION_MAP_EXECUTE = &H8
Const SECTION_EXTEND_SIZE = &H10
Const SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SECTION_QUERY Or SECTION_MAP_WRITE Or SECTION_MAP_READ Or SECTION_MAP_EXECUTE Or SECTION_EXTEND_SIZE
Const FILE_MAP_ALL_ACCESS = SECTION_ALL_ACCESS

Private Const PAGE_NOACCESS = &H1&
Private Const PAGE_READONLY = &H2&
Private Const PAGE_READWRITE = &H4&
Private Const PAGE_WRITECOPY = &H8&
Private Const PAGE_EXECUTE = &H10&
Private Const PAGE_EXECUTE_READ = &H20&
Private Const PAGE_EXECUTE_READWRITE = &H40&
Private Const PAGE_EXECUTE_WRITECOPY = &H80&
Private Const PAGE_GUARD = &H100&
Private Const PAGE_NOCACHE = &H200&

'============NT Shared memory staff======================
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Const PROCESS_VM_OPERATION = &H8
Const PROCESS_VM_READ = &H10
Const PROCESS_VM_WRITE = &H20
Const PROCESS_ALL_ACCESS = 0

Const MEM_COMMIT = &H1000
Const MEM_RESERVE = &H2000
Const MEM_DECOMMIT = &H4000
Const MEM_RELEASE = &H8000
Const MEM_FREE = &H10000
Const MEM_PRIVATE = &H20000
Const MEM_MAPPED = &H40000
Const MEM_TOP_DOWN = &H100000

Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function VirtualFreeEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Public Function GetMemShared95(ByVal memSize As Long, hFile As Long) As Long
hFile = CreateFileMapping(&HFFFFFFFF, 0, PAGE_READWRITE, 0, memSize, vbNullString)
GetMemShared95 = MapViewOfFile(hFile, FILE_MAP_ALL_ACCESS, 0, 0, 0)
End Function

Public Sub FreeMemShared95(ByVal hFile As Long, ByVal lpMem As Long)
UnmapViewOfFile lpMem
CloseHandle hFile
End Sub

Public Function GetMemSharedNT(ByVal pid As Long, ByVal memSize As Long, hProcess As Long) As Long
hProcess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pid)
GetMemSharedNT = VirtualAllocEx(ByVal hProcess, ByVal 0&, ByVal memSize, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
End Function

Public Sub FreeMemSharedNT(ByVal hProcess As Long, ByVal MemAddress As Long, ByVal memSize As Long)
Call VirtualFreeEx(hProcess, ByVal MemAddress, memSize, MEM_RELEASE)
CloseHandle hProcess
End Sub

Public Function IsWindowsNT() As Boolean
Dim verinfo As OSVERSIONINFO
verinfo.dwOSVersionInfoSize = Len(verinfo)
If (GetVersionEx(verinfo)) = 0 Then Exit Function
If verinfo.dwPlatformId = 2 Then IsWindowsNT = True
End Function


northwolves 2005-12-28
  • 打赏
  • 举报
回复
看看有没有帮助:
http://www.vbaccelerator.com/home/VB/Utilities/ActiveX_Documenter/ActiveX_Documenter_Source_zip_VBRichEdit_ctl.asp

http://www.vbaccelerator.com/home/VB/Utilities/ActiveX_Documenter/ActiveX_Documenter_Source_zip_mRichEdit_bas.asp
Visual Basic.NET精彩编程百例 李强 源代码 解压后31M 内容简介回到顶部↑    本书按照“实例一操作步骤一技术要点一归纳注释”的结构,介绍编写一个Visual Basic.NET程序的过程,以及编写课程中用到的知识。本书精选了100个VisulaBasic.NET程序实例,并全部编译通过。本书从Visual Basic.NET的各种不同应用方面来讲解如何使用Visual Basic.NET进行编程。最后,选择3个大的综合实例详细介绍程序的开发,从而较大程度地提高读者的编程能力。    本书以实例教程的方式编写,各部之间独立性强,每一个实例可以作为一个单独的教程使用。本书不仅适合初学VisualBasic.NET的读者阅读,也可以使有VisualBasic开发经验的读者获益匪浅。由于对各方面的程序开发书中都有相应的实例,所以还可以作为一本不错的VisualBasic.NET编程开发书。 前言 第一篇 窗体设计及控件应用 实例1 你好程序 实例2 消息提示 实例3 输入对话框 实例4 选择按钮 实例5 时间日期 实例6 计时器控件 实例7 滚动条控件 实例8 颜色对话框 实例9 字体对话框 实例10 打开保存对话框 实例11 链接标签 实例12 编辑菜单 实例13 快捷菜单 实例14 动态菜单 实例15 进度条控件 实例16 列表框控件 实例17 图片框控件 实例18 状态栏控件 .实例19 立体文字 实例20 工具栏控件 实例21 组合框控件 实例22 系统栏图标控件 实例23 树视图控件 实例24 列表视图控件 实例25 选项卡控件 实例26 richtextbox控件 实例27 割器控件 实例28 多窗体设计 实例29 多文档界面 实例30 日期控件 第二篇 数字及字符串处理 实例31 随机数 实例32 简单计算器 实例33 冒泡排序 实例34 进制转换 实例35 中文数字转换 实例36 求解方程 实例37 反转字符串 实例38 查找字符串 实例39 替换字符串 实例40 比较字符串 第三篇 文件操作 实例41 文字处理 实例42 创建删除文件夹 实例43 移动文件 实例44 判断文件存在与否 实例45 加密解密文件 第四篇 图形图像处理 实例46 使用画笔(1) 实例47 使用画笔(2) 实例48 使用画刷 实例49 绘制线图 实例50 绘制填充图形 实例51 直线图案 实例52 递归图案 实例53 绘制三维图形 实例54 模拟雪花 实例55 模拟绘图板 实例56 打开保存图像 实例57 剪切粘贴图像 实例58 浏览图片 实例59 变换图像 实例60 滤镜效果 实例61 统计表图形 实例62 百叶窗效果 实例63 动画效果 实例64 调节图像色彩 实例65 拾色器 第五篇 多媒体编程 实例66 mp3播放器 实例67 视频播放器 实例68 dvd播放器 实例69 flash播放器 实例70 动画播放器 第六篇 数据库开发 实例71 建立数据表 实例72 用access建表 实例73 连接access数据库 实例74 连接sqlserver数据库 实例75 绑定数据 实例76 数据窗体向导 实例77 dataview控件 实例78 command和datareader类的使用 实例79 在web中访问数据库 实例80 水晶报表 第七篇 网络编程 实例81 获取计算机名称 实例82 电话拨号程序 实例83 web浏览器 实例84 发送邮件 实例85 发送广播 实例86 聊天工具 实例87 sockets类的使用 实例88 web应用程序 实例89 table控件 实例90 自定义web控件 第八篇 其他应用 实例91 获取cpu信息 实例92 获取文件信息 实例93 打印预览 实例94 椭圆窗体 实例95 控制程序 实例96 创建xml文档 实例97 创建xml架构 第九篇 综合实例 实例98 计算器 实例99 个人图书管理 实例100 打包发布
中文名: Visual Basic 6大学教程 原名: Visual Basic 6 How to Program 作者: Harvey M. Deitel译者: 于伟 王刚 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社书号: 7505381377发行时间: 2003年01月 地区: 大陆 语言: 简体中文 简介: 内容简介    本书深入浅出地介绍了Visual Basic 6语言的基本概念和编程技术,包括对象、属性、方法、语句、函数、结构等基本问题,以及面向对象编程、数据库管理和网络编程等高级课题。全书共为21章,系统地讨论了Visual Basic 6的编程技巧及应用,并且提供了大量实用和有趣的实例和习题。读者通过学习本书,可以在较短时间内掌握基本的和最新的程序设计技术。本书所配的“多媒体教室”光盘更是独具特色,通过交互式环境,使学习过程更加生动有趣。 目 录 第1章 计算机的概念 1 1.1 简介 1 1.2 什么是计算机 2 1.3 计算机的组成 2 1.4 操作系统的变革 3 1.5 个人计算、布式计算与客户/服务器计算 3 1.6 机器语言、汇编语言和高级语言 4 1.7 Visual Basic的历史 5 1.8 其他高级语言 5 1.9 结构化编程 6 1.10 什么是Visual Basic 6 1.11 关于Visual Basic和本书的一般性提示 7 1.12 本书概览 7 小结 12 自测练习 14 自测练习答案 15 练习 15 第2章 集成开发环境 17 2.1 简介 17 2.2 集成开发环境综述 17 2.3 Project窗口 19 2.4 工具箱 20 2.5 Form Layout窗口 21 2.6 Properties窗口 21 2.7 菜单栏和工具栏 22 2.8 一个简单的程序:显示一行文本 22 小结 28 自测练习 31 自测练习答案 32 练习 33 第3章 Visual Basic 编程入门 35 3.1 简介 35 3.2 可视化编程和事件驱动编程 35 3.3 一个简单程序:在窗体上打印一行文本 36 3.4 另一个简单的程序:整数相加 40 3.5 内存的概念 44 3.6 算术运算 45 3.7 运算符的优先级 46 3.8 进行判断:比较运算符 48 小结 53 自测练习 55 自测练习答案 57 练习 59 第4章 控制结构(一) 62 4.1 简介 62 4.2 算法 62 4.3 伪代码 63 4.4 介绍控制结构 63 4.5 If/Then 选择结构 65 4.6 If/Then/Else选择结构 66 4.7 While/Wend循环结构 69 4.8 Do While/Loop循环结构 70 4.9 Do Until/Loop循环结构 70 4.10 构造算法:示例1(计数器控制循环) 71 4.11 自顶向下、求解的算法:示例2(标志控制循环) 73 4.12 自顶向下、求解的算法:示例3(嵌套控制结构) 78 小结 82 自测练习 84 自测练习答案 85 练习 87 第5章 控制结构(二) 92 5.1 简介 92 5.2 计数器控制循环的基础知识 92 5.3 For/Next 循环结构 93 5.4 使用For/Next循环结构的例子 96 5.5 Select Case多项选择结构 100 5.6 Do/Loop While循环结构 105 5.7 Do/Loop Until循环结构 106 5.8 Exit Do和Exit For语句 108 5.9 Boolean数据类型 109 5.10 常量变量 111 5.11 逻辑运算符 112 5.12 结构化编程总结 114 5.13 Visual Basic数据类型 119 小结 120 自测练习 120 自测练习答案 122 练习 123 第6章 子过程与函数过程 128 6.1 简介 128 6.2 窗体模块 128 6.3 Sub过程 129 6.4 Function 过程 134 6.5 按值调用与按引用调用 137 6.6 Exit Sub 和Exit Function 141 6.7 存储类 143 6.8 作用域规则 145 6.9 生成随机数 147 6.10 范例:一个机会游戏 153 6.11 递归与阶乘函数 157 6.12 另一个递归例子:Fibonacci序列 160 6.13 递归与迭代 162 6.14 可选参数 163 6.15 命名参数 164 6.16 Visual Baisc 数学函数 166 6.17 代码模块 167 小结 169 自测练习 171 自测练习答案 173 练习 174 第7章 数组 182 7.1 简介 182 7.2 数组 182 7.3 声明数组 183 7.4 使用数组的例子 184 7.5 给过程传递数组 190 7.6 数组排序 193 7.7 查找数组:线性查找和二查找 196 7.8 多维数组 201 7.9 控件数组 203 7.10 动态数组 205 7.11 变长参数表:ParamArray 211 7.12 Array函数 212 小结 213 自测练习 214 自测练习答案 214 练习 215 第8章 字符串、日期和时间 224 8.1 简介 224 8.2 字符与字符串基础知识 224 8.3 String数据类型 225 8.4 利用 & 和 + 连接字符串 225 8.5 比较字符串 226 8.6 Like运算符 229 8.7 操作字符串中的单个字符:Mid$ 230 8.8 Left$、 Right$和InStr 232 8.9 使用InStr和 InStrRev函数在字符串里搜索子字符串 234 8.10 LTrim$、RTrim$和Trim$ 235 8.11 String$和 Space$ 236 8.12 使用Replace 函数替换子字符串 237 8.13 使用StrReverse函数反转字符串 237 8.14 转换字符串的大小写 238 8.15 转换函数 239 8.15.1 Asc 和Chr$ 239 8.15.2 IsNumeric、 Val 和Str$ 240 8.15.3 Hex$和Oct$ 241 8.15.4 类型转换函数 241 8.16 格式化字符串 243 8.16.1 Format$ 函数和命名数字化格式 243 8.16.2 Format$函数和用户定义数字化格式 245 8.16.3 FormatNumber函数 249 8.16.4 FormatCurrency函数 251 8.16.5 FormatPercent函数 253 8.17 处理日期和时间 254 8.18 格式化日期和时间 262 8.19 String数组 267 8.19.1 模拟洗牌与发牌 269 小结 272 自测练习 274 自测练习答案 274 练习 275 特殊小节:高级字符串操作练习 278 特殊小节:关于字符串操作的工程 280 第9章 图形 281 9.1 简介 281 9.2 坐标系 281 9.3 绘图方法 283 9.4 绘图属性 289 9.5 Line控件和Shape控件 292 9.6 颜色 294 9.7 图像 301 9.8 Printer对象 303 小结 304 自测练习 305 自测练习答案 305 练习 305 第10章 基本图形用户界面 307 10.1 简介 307 10.2 控件 307 10.3 TextBox控件 309 10.4 MaskEdit控件 311 10.5 ComboBox控件 314 10.6 ListBox控件 318 10.7 滚动条 322 10.8 Slider控件 324 10.9 菜单 325 10.10 弹出菜单 328 10.11 MsgBox函数 329 小结 333 自测练习 335 自测练习答案 335 练习 335 特殊小节:建立自己的计算机 337 第11章 高级图形用户界面 344 11.1 简介 344 11.2 多文档界面(MDI) 344 11.3 多窗体 352 11.4 模板窗体 356 11.5 RichTextBox 控件 360 11.6 UpDown 控件 364 11.7 ImageList 控件 367 11.8 ImageCombo 控件 370 11.9 FlatScrollBar 控件(专业版和企业版) 373 11.10 机器代码编译(专业版和企业版) 375 小结 376 自测题 378 自测练习答案 378 练习 379 第12章 鼠标和键盘 382 12.1 简介 382 12.2 改变鼠标指针的形状 382 12.3 鼠标事件 384 12.4 鼠标键 387 12.5 Shift、Ctrl和Alt键 389 12.6 拖放 391 12.7 键盘事件 396 12.8 KeyPreview属性 399 小结 400 自测练习 401 自测练习答案 402 练习 402 第13章 错误处理与调试 404 13.1 简介 404 13.2 何时使用错误处理 405 13.3 简单的错误处理例子:除数为0 405 13.4 嵌套的On Error语句 407 13.5 Err对象 409 13.6 Resume语句 411 13.7 错误处理程序和调用堆栈 414 13.8 重新引发错误 418 13.9 中断模式、Immediate窗口和Debug对象 420 13.10 防止程序错误的第一步 422 13.11 调试策略 422 13.12 调试器 424 13.12.1 Debug菜单和工具栏 424 13.12.2 Locals窗口 428 13.12.3 Watch窗口 429 13.12.4 Call Stack 窗口 430 13.13 调试器和错误处理程序 431 小结 431 自测练习 434 自测练习答案 434 练习 434 第14章 顺序文件处理 435 14.1 简介 435 14.2 DirListBox、FileListBox、DriveListBox控件 435 14.3 数据层 438 14.4 文件系统对象 440 14.5 建立一个顺序存取文件 450 14.6 从顺序文件内读取数据 454 14.7 更新顺序存取文件 457 小结 458 自测练习 459 自测练习答案 460 练习 460 第15章 记录和随机存取文件 462 15.1 简介 462 15.2 随机存取文件 462 15.3 记录用户自定义类型 463 15.3.1 用户自定义类型的定义 463 15.3.2 操作用户自定义类型的成员 464 15.4 建立随机存取文件 465 15.5 向随机存取文件写入数据 469 15.6 从随机存取文件中按顺序读取数据 471 15.7 从随机存取文件中随机读取数据 474 15.8 范例:事务处理程序 477 小结 482 自测练习 483 自测练习答案 484 练习 484 第16章 面向对象编程 487 16.1 简介 487 16.2 数据抽象与信息隐藏 488 16.3 利用类实现一个时间抽象数据类型 489 16.4 类成员 493 16.5 合成:将对象作为其他类的实例变量 499 16.6 简介面向对象编程 503 16.7 带有部件的软件工程 506 16.8 类型域和 Select Case语句 506 16.9 多态性 507 16.10 Visual Basic接口 507 16.11 多态性举例 508 16.12 范例:IShape、CPoint、CCircle 509 16.13 范例:使用多态的支付系统 512 16.14 范例:图形的多态处理 518 16.15 利用接口继承和指派模拟实现继承 522 16.16 Object Browser 527 16.17 事件和类 528 小结 530 自测练习 532 自测练习答案 532 练习 532 第17章 ActiveX 536 17.1 简介 536 17.2 部件、COM和DCOM 536 17.3 ActiveX 控件类型 540 17.4 ActiveX 控件的生存期和事件 541 17.5 UserControl对象 542 17.6 创建包含构造控件的ActiveX控件 542 17.7 ActiveX 控件举例:Clock控件 549 17.8 ActiveX控件界面向导 554 17.9 属性页和属性页向导(Property Page Wizard) 563 17.10 ActiveX DLL 567 17.11 ActiveX EXE 570 17.12 Friend访问 575 小结 577 自测练习 579 自测练习答案 580 练习 580 第18章 数据库管理 582 18.1 简介 582 18.2 数据库系统 582 18.2.1 数据库系统的优点 582 18.2.2 数据独立 583 18.2.3 数据库语言 583 18.2.4 布式数据库 583 18.3 关系数据库模型 583 18.3.1 关系数据库 584 18.4 介绍Microsoft ADO Data Control 6.0 585 和Microsoft DataGrid Control 6.0 18.5 关系数据库概览:Biblio.mdb数据库 588 18.6 结构化查询语言 590 18.6.1 基本的SELECT查询 591 18.6.2 WHERE从句 591 18.6.3 ORDER BY从句 592 18.6.4 使用INNER JOIN 从多个表中合并数据 593 18.6.5 Biblio.mdb中的全标题查询 593 18.7 再次讨论ADO数据控件和DataGrid控件 595 18.8 Hierarchical FlexGrid控件 597 18.9 DataList和DataCombo控件 598 18.9.1 范例:使用DataList和DataCombo控件 598 18.9.2 使用BoundColumn属性 602 18.10 使用Data Environment Designer 604 18.11 Recordset的其他程序化功能 607 18.12 事务处理 607 小结 608 自测练习 609 自测练习答案 610 练习 610 参考文献 611 第19章 网络、Internet和WWW 612 19.1 简介 612 19.2 Visual Basic Internet控件 613 19.3 WebBrowser控件 613 19.4 Internet Transfer控件 617 19.4.1 超文本传输协议(HTTP)连接 617 19.4.2 文件传输协议(FTP)连接 619 19.5 Internet Transfer控件的其他属性、方法和事件 621 19.6 Winsock控件 622 19.6.1 建立一个简单的服务器(使用TCP协议) 622 19.6.2 建立一个简单的客户(使用TCP协议) 624 19.7 范例:使用Winsock控件的客户/服务器交互 625 19.7.1 一个简单的基于TCP的服务器 625 19.7.2 一个简单的基于TCP的客户 627 19.7.3 客户/服务器交互的输出 630 19.8 Winsock控件和基于UDP的客户/服务器计算 631 19.8.1 一个简单的基于UDP的服务器 632 19.8.2 一个简单的基于UDP的客户 633 19.8.3 客户/服务器交互的输出 635 19.9 Winsock 控件的其他属性、方法和事件 636 19.10 Visual Basic Script(VBScript):综述 636 小结 645 自测练习 648 自测练习答案 648 练习 649 第20章 多媒体:图像、动画和音频 651 20.1 简介 651 20.2 Microsoft Agent 控件 652 20.3 多媒体MCI控件 658 20.3.1 多媒体MCI控件形成的CD播放器 660 20.3.2 一个多媒体MCI控件AVI文件播放器 661 20.4 Animation 控件 663 20.5 RealAudio ActiveX控件库 665 20.6 Marquee控件库 667 20.7 Microsoft ActiveMovie 控件 670 小结 672 自测练习 674 自测练习答案 674 练习 674 第21章 数据结构、集合和词典 676 21.1 简介 676 21.2 Variant类型 676 21.3 自引用类 677 21.4 动态内存配 678 21.5 链表 679 21.6 堆栈 688 21.7 队列 691 21.8 树 693 21.9 Collection对象 699 21.10 Dictionary对象 701 小结 705 自测练习 706 自测练习答案 707 练习 707 附录A 运算符优先级表 713 附录B ANSI字符集 714 附录C Internet和WWW上的Visual Basic资源 715 附录D 数值系统 722

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧