社区
Windows SDK/API
帖子详情
我想知道在delphi中如何判断com端口有没有被其他程序和硬件所使用?
firewangcool
2003-10-17 12:52:34
我想知道在delphi中如何判断com端口有没有被其他程序和硬件所使用?
...全文
114
7
打赏
收藏
我想知道在delphi中如何判断com端口有没有被其他程序和硬件所使用?
我想知道在delphi中如何判断com端口有没有被其他程序和硬件所使用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
月光
2003-10-23
打赏
举报
回复
aiirii的方法应该就可以了
jpyc
2003-10-23
打赏
举报
回复
http://218.56.11.178:8020/web/index.aspx
->下载基地->例程-硬件控制->串口通讯控制器
->控件-硬件控制->TurboPower Async Professional
///////////////////////
串口通讯控制器中有检测方法,参考一下吧!
lV运用
2003-10-23
打赏
举报
回复
关注
firewangcool
2003-10-22
打赏
举报
回复
能否告诉我当用spcomm.open打开端口时,如果端口被其他程序或硬件占用的话,返回的错误码时多少?谢谢!
aiirii
2003-10-20
打赏
举报
回复
try
spcomm.open;
except
showmessage('can''t open com');
end;
firewangcool
2003-10-20
打赏
举报
回复
我用的是SPCOMM控件,可不可以用DELPHI中的错误机制来控制啊?我对DELPHI不熟不知道错误机制怎么用?
roc_fu
2003-10-17
打赏
举报
回复
找个串口通讯的控件,打开一下端口,打不开表示被占用或不存在
还有一种土方法
echo AT>com1 如果端口被占用,会提示拒绝访问,哈哈,在命令行调用,不需要任何控件
Delphi
硬件
编程档案
这份档案里的所有文件都是从说明如何用
Delphi
控制 IBM PC
硬件
接口的FTP 站点收集来的。这些都是在局部公 开的,所以要小心
使用
。我放弃一切承诺,这份档案只给 有兴趣的人提供一些服务。 作者:Alan Young (ajtech@apc.net) 翻译: 王甲春 (wjiachun@263.net) http://wjiachun.edu.chinaren.
com
DELFHDWR.DOC 包含一份Word文档解释如何用
Delphi
控 制IBM PC
硬件
接口。包含下面的其他文 件的参考。 VBAJGAME.ZIP 演示如何用VB 控制
Delphi
DLL来访问 游戏操纵杆
端口
。 LPCTRL.ZIP 演示如何用
Delphi
对并行LPT
端口
进行 编程。 HWPORT95.ZIP 一个Win 95 下的 I/O
端口
驱动。
使用
Delphi
作为每个文件的指导。 loaddrv.ZIP 包含NT下的LOADDRV
程序
。这用来载入 giveio.sys 驱动。 DIRECTIO.ZIP 包含NT的 GIVEIO.SYS驱动。
Delphi
实现通过服务
程序
自动收集终端信息(80
端口
)上传到服务器
使用
到:
Delphi
创建服务、线程、idHttp的Get与Post等 流程: 1、获取IP、Mac 2、读取服务器批处理Version 3、下载批处理 4、运行批处理,生成txt文件保存获取到的信息 5、批处理生成的文件post到服务器 因在需求
中
,
端口
限制原因,只能通过80与服务器交互。需要定时获取终端配置信息【软件、
硬件
、系统】,故而设计此
程序
,在Win7(WinXP、Server2008)+IIS7下测试通过。
“闪盘小偷”
DELPHI
版
首先,感谢盒子的朋友们无私的精神(尤其是麻子哥,抄过你不少代码呦~)。在盒子里学到了太多的东西(好多太高深看8懂:P)总觉着不上传点东西分享一下很愧疚......前几天在学习监测
硬件
是否变化时发现了VC版的“闪盘小偷”代码,为了学习将其改成了
DELPHI
版,大家一起研究。
程序
功能:监视是否有移动存储设备插入,如果插入将其内容拷贝到指定目录
中
.实现原理:当Windows系统的
硬件
设置发生变化时,系统将会向所有应用
程序
发送一条WM_DEVICECHANGE消息.当有设备被禁止或激活时(比如我们插入光盘,从光驱
中
取出光盘,或者在系统设备
中
删除或禁止打印
端口
),该消息的wParam参数分别被指定为DBT_DEVICEARRIVAL(设备安装完毕)和DBT_DEVICEREMOVE
COM
PLETE(设备移除完毕),根据这两个参数可以
判断
闪存是否存在,lParam参数指向一DEV_BROADCAST_HDR结构,该结构
中
的dbch_devicetype成员是变化设备的类型,当该值为DBT_DEVTYP_VOLUME时,表明一个带有卷标名的驱动器发生了变化,一般情况下该驱动器既为光驱.其他:Ctrl+Alt+F12退出
程序
有其他问题大家一起研究,偶的mail:yangshilei0205@163.
com
Delphi
开发范例宝典目录
第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单
中
添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏
中
显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏
中
加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色
程序
界面 18 实例015 类QQ的
程序
界面 18 实例016 类似Windows XP的
程序
界面 20 实例017 以图形按钮显示的界面 21 实例018 以树型显示的
程序
界面 23 实例019 以XPManifest组件显示界面 24 实例020 动态按钮的窗体界面 25 1.6 特殊形状的窗体 26 实例021 非矩形窗体 26 实例022 建立字体形状窗体 28 1.7 多媒体光盘 29 实例023 自动启动的多媒体光盘
程序
29 实例024 为触摸屏
程序
添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色的渐变 34 实例028 带背景的窗体 35 实例029 为窗体增加边框 36 1.9 窗体动画 37 实例030 窗体
中
的滚动字幕 37 实例031 动画显示窗体 38 实例032 制作闪烁的窗体 39 实例033 直接在窗体上绘图 40 实例034 动画形式的
程序
界面 41 实例035 以时钟显示界面窗体 42 1.10 标题栏窗体 44 实例036 标题栏上的按钮 45 实例037 使窗体标题栏文字右对齐 47 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 49 实例040 设置窗体在屏幕
中
的位置 50 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 52 实例043 获取桌面大小 53 实例044 组件大小随窗体的改变而改变 53 实例045 在窗口间移动按钮 54 实例046 如何实现Office助手 55 1.13 窗体控制技术 56 实例047 在关闭窗口前加入确认对话框 56 实例048
程序
在循环
中
响应界面操作 57 实例049
使用
任意组件拖动窗体 58 实例050 动态创建窗体和释放窗体 59 实例051 修改提示字体及颜色 60 1.14 其他技术 61 实例052 窗口融合技术 61 实例053 给MDI窗体加背景 62 实例054 如何关闭MDI类型窗体
中
的子窗体 63 实例055 向提示框
中
添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为TEdit控件添加列表选择框 69 实例058 只允许输入数字的TEdit组件 70 2.2 TSpeedButton控件应用典型实例 71 实例059 在TSpeedButton按钮
中
显示图标 71 实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo
中
的可见行数 75 2.4 TListBox控件应用典型实例 76 实例064 在TListBox组件间交换数据 76 实例065 为TListBox添加水平滚动条 77 实例066 将数据库数据添加到组合框
中
78 实例067 借助绑定控件实现数据选择录入 79 2.5 TListView控件应用典型实例 80 实例068 TListView列表拒绝添加重复信息 80 实例069 将数据库数据添加到TListView控件 82 实例070 用TListView控件制作导航界面 83 实例071 在TListView控件
中
对数据排序或统计 84 实例072 在TListView组件
中
绘制底纹 86 实例073 在列表视图
中
拖动视图项 87 2.6 TTreeView控件应用典型实例 88 实例074 将数据库数据显示到树视图
中
88 实例075 用TTreeView控件制作导航界面 90 实例076 TTreeView组件遍历磁盘目录 91 实例077 TTreeView组件在数据库
中
的应用 92 2.7 TStringGrid控件应用典型实例 94 实例078
程序
运行时对
DELPHI
串口编程
DELPHI
串口编程剖析 1 第一章 背景知识 3 1. 概述 3 2. 什么是接口? 3 3. 接口分类. 3 4. 为什么需要I/O接口? 3 5. I/O接口的功能 4 6. I/O接口的通信方式 5 7. I/O接口的分类 5 8. 串口的分类 8 9. 串口通信分类 11 10. 奇偶校验 12 第二章 串口通信编程简介 13 1. 串口的通信编程流程 13 2. Unix平台下对串口进行开发的方法 13 3. Windows平台下对串口进行开发的方法 13 第三章
使用
DELPHI
工具进行串口通信编程 15 第四章 串口编程的调试及其相关工具 27 串口通信编程剖析 第一章 背景知识 1. 概述 串口是计算机上I/O接口的一种,要掌握串口通信编程的相关知识,必须先了解I/O接口的相关知识。 I/O接口是接口的一种。 2. 什么是接口? 众所周知计算机是由CPU,存储器,外部终端设备组成. 接口就是用于CPU与外部设备、存储器的连接和数据交换的设备。 3. 接口分类. 广义的计算机接口有二种,见下表: 类別 用途 电路实现复杂性 存储器接口: 用于CPU与外部设备、存储器的连接 简单 I/O接口 数据交换 复杂 习惯上说到接口只是指I/O接口。本文沒作特別介绍的地方都叫I/O接口. 4. 为什么需要I/O接口? 计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题: 速度不匹配: I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。 时序不匹配: 各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU的时序取得统一。 信息格式不匹配: 不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。 信息类型不匹配: 不同I/O设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。 基于以上原因,CPU与外设之间的数据交换必须通过I/O接口来完成。 5. I/O接口的功能 通常I/O接口有以下一些功能: 1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度 差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; 2)能够进行信息格式的转换,例如串行和并行的转换; 3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平 转换驱动器、数/模或模/数转换器等; 4)协调时序差异; 5)地址译码和设备选择功能; 6)设置
中
断和DMA控制逻辑,以保证在
中
断和DMA允许的情况下产生
中
断和DMA请求信号,并在接受到
中
断和DMA应答之后完成
中
断处理和DMA传输。 6. I/O接口的通信方式 CPU通过接口对外设进行控制的方式有以下几种: 1)
程序
查询方式 这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设 准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。 这种方式的优点是结构简单,只需要少量的
硬件
电路即可,缺点是由 于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很 低。 2)
中
断处理方式 在这种方式下,CPU不再被动等待,而是可以执行其他
程序
,一旦 外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响 应该请求,便暂时停止当前
程序
的执行,转去执行与该请求对应的 服务
程序
,完成后,再继续执行原来被
中
断的
程序
。
中
断处理方式的优点是显而易见的,它不但为CPU省去了查询外设 状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满 足了外设的实时要求。但需要为每个I/O设备分配一个
中
断请求号 和相应的
中
断服务
程序
,此外还需要一个
中
断控制器(I/O接口芯 片)管理I/O设备提出的
中
断请求,例如设置
中
断屏蔽、
中
断请求 优先级等。此外,
中
断处理方式的缺点是每传送一个字符都要进行
中
断,启动
中
断控制器,还要保留和恢复现场以便能继续原
程序
的 执行,花费的工作量很大,这样如果需要大量数据交换,系统的性 能会很低。 3)DMA(直接存储器存取)传送方式 DMA最明显的一个特点是它不是用软件而是采用一个专门的控制 器来控制内存与外设之间的数据交流,无须CPU介入,大大提高 CPU的工作效率。 在进行DMA数据传送之前,DMA控制器会向CPU申请总线控 制 权,CPU如果允许,则将控制权交出,因此,在数据交换时, 总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将 总线控制权交还给CPU。 7. I/O接口的分类 7.1. 并行接口 目前,计算机
中
的并行接口主要作为打印机
端口
,接口
使用
的不再是36针接头而是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,容易出错。 现在有五种常见的并口:4位、8位、半8位、EPP和ECP,大多数PC机配有4位或8位的并口,许多利用Intel386芯片组的便携机配有EPP口,支持全部IEEE1284并口规格的计算机配有ECP并口。 标准并行口4位、8位、半8位: 4位口一次只能输入4位数据,但可以输出8位数据;8位口可以一次输入和输出8位数据;半8位也可以。 EPP口(增强并行口):由Intel等公司开发,允许8位双向数据传送,可以连接各种非打印机设备,如扫描仪、LAN适配器、磁盘驱动器和CDROM 驱动器等。 ECP口(扩展并行口):由Microsoft、HP公司开发,能支持命令周期、数据周期和多个逻辑设备寻址,在多任务环境下可以
使用
DMA(直接存储器 访问)。 目前几乎所有的586机的主板都集成了并行口插座,标注为 Paralle1或LPT1,是一个26针的双排针插座。 7.2. 串行接口 计算机的另一种标准接口是串行口,现在的PC机一般至少有两个串行口
COM
1和
COM
2。串行口不同于并行口之处在于它的数据和控制信息是一位接一位串行地传送下去。这样,虽然速度会慢一些,但传送距离较并行口更长,因此长距离的通信应
使用
串行口。通常
COM
1
使用
的是9针D形连接器,而
COM
2有些使 用的是老式的DB25针连接器。 7.3. 磁盘接口 1)IDE接口 IDE接口也叫做ATA
端口
,只可以接两个容量不超过528M的硬盘驱动器,接口的成本很低,因此在386、486时期非常流行。但大多数IDE接口不支持DMA数据传送,只能
使用
标准的PCI/O
端口
指令来传送所有的命令、状态、数据。几乎所有的586主板上都集成了两个40针的双排针IDE接口插座,分别标注为IDE1和IDE2。 2)EIDE接口 EIDE接口较IDE接口有了很大改进,是目前最流行的接口。 首先,它所支持的外设不再是2个而是4个了,所支持的设备除了硬盘,还包括CD-ROM驱动器磁盘备份设备等。 其次,EIDE标准取消了528MB的限制,代之以8GP限制。 第三,EIDE有更高的数据传送速率,支持PIO模式3和模式4标准。 7.4. SCSI接口 SCSI(Small
Com
puterSystemInterface)小计算机系统接口,在做图形处理和网络服务的计算机
中
被广泛采用SCSI接口的硬盘。除了硬盘以外,SCSI接口还可以连接CD-ROM驱动器、扫描仪和打印机等,它具有以下特点: *可同时连接7个外设; *总线配置为并行8位、16位或32位; *允许最大硬盘空间为8.4GB(有些已达到9.09GB); *更高的数据传输速率,IDE是2MB每秒,SCSI通常可以达到5MB每秒,FASTSCSI(SCSI-2)能达到10MB每秒,最新的SCSI-3甚至能够达到40MB每秒,而EIDE最高只能达到16.6MB每秒; *成本较IDE和EIDE接口高很多,而且,SCSI接口硬盘必须和SCSI接口卡配合
使用
,SCSI接口卡也比IED和EIDE接口贵很多。 *SCSI接口是智能化的,可以彼此通信而不增加CPU的负担。在IDE和EIDE设备之间传输数据时,CPU必须介入,而SCSI设备在数据传输过程
中
起主动作用,并能在SCSI总线内部具体执行,直至完成再通知CPU。
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章