请教3个特殊的API(200分)

  • 主题发起人 主题发起人 pzhp
  • 开始时间 开始时间
P

pzhp

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中的uses内应加入什么单元才能使用flushcomm(),opencomm()和getcommerror()这三个用于通讯的函数?加入windows和winprocs不管用。
 
加入什么也没有用<br>flushcomm..是API函数吗<br>MSDN里没有,DELPHI里也没有
 
DELPHI里是没有,我查了API书籍也没有,但这三个函数来自一本杂志的文章里面说是API?<br>
 
大概是某个特殊定制的DLL?
 
去<br>http://www.delphi-jedi.org/<br>碰碰运气,那里有不少第三方API的.Pas文件
 
呵呵<br>反正Source下面的是没指望了<br>我查找过了
 
StdCtrls,AxCtrls,OleCtrls,ComCtrls,comobj<br><br>碰运气吧
 
1、好消息:<br><br>告诉你,好象有这些api,我以前用过<br><br>2、坏消息:<br><br>是windows3.1的api,win32不支持。
 
这三个是API,Window3.1时代的。现在从USER.EXE中也可以调出。<br><br>function OpenComm(lpCommName: LPSTR; wInQueue,wOutQueue: DWORD): Integer;<br>function FlushComm(nCid: Integer; nQueue: Integer): Integer;<br>function GetCommError(nCid: Integer; lpStat: COMSTAT): Integer;<br><br>现在都用CreateFile来建立Comm的句柄,不用OpenComm了吧。<br>我劝你还是别用了,用现在的Communication Functions吧。<br>
 
多谢o*o朋友的指点,是否有朋友能告诉我下面WINDOWS31函数在WIN32的相应API?<br>我愿送上200大分!!!!<br>1、flushcomm(),用于清除队列<br>2、getcommerror(),用于串口复位<br>3、writecomm(),写到串口<br>4、readcomm(),读串口数据
 
那些都是Windows 3.1的函数啦. 要用也不是不可以, 但是很麻烦的,<br>涉及到在32位程序调用16位dll的一系列问题, 包括对dll的初始化都不一样. ^_^<br><br>建议你用32位的函数重写一下这些函数. 大致如下:<br><br>1. flushcomm() == FlushFileBuffers()<br>2. getcommerror() == GetLastError() + ClearCommError()<br>3. writecomm() == WriteFile()<br>4. readcomm() == ReadFile()<br>5. opencomm() == CreateFile()<br>6. closecomm() == CloseHandle()<br>7. SetCommTimeouts, SetCommState还有的, 不过要转变一下.<br>8. purgecomm还有的<br><br>具体语法参考Win32的help
 
Iknow都说了。:-)
 
感谢ikown和o*o朋友,分数已经发出。
 
分数已经发出?<br>怎么发的,你还没结束问题。:-)
 
多人接受答案了。
 
后退
顶部