如何在Delphi中获得modem的状态?(100分)

  • 主题发起人 主题发起人 yzy25
  • 开始时间 开始时间
Y

yzy25

Unregistered / Unconfirmed
GUEST, unregistred user!
我做的是一个电话拨号程序(调用了Windows的Dialer.exe),请问如何在程序里判断线路忙,
对方接通,如何判断对方挂机等一些情况。
 
var
FHandle: THandle;
dcb: TDcb;

FHandle := CreateFile(PChar('//./' + FComName),
GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
GetCommState(FHandle, dcb);

The DCB structure defines the control setting for a serial communications device.
typedef struct _DCB { // dcb
DWORD DCBlength; // sizeof(DCB)
DWORD BaudRate; // current baud rate
DWORD fBinary: 1; // binary mode, no EOF check
DWORD fParity: 1; // enable parity checking
DWORD fOutxCtsFlow:1; // CTS output flow control
DWORD fOutxDsrFlow:1; // DSR output flow control
DWORD fDtrControl:2; // DTR flow control type
DWORD fDsrSensitivity:1; // DSR sensitivity

DWORD fTXContinueOnXoff:1; // XOFF continues Tx
DWORD fOutX: 1; // XON/XOFF out flow control
DWORD fInX: 1; // XON/XOFF in flow control
DWORD fErrorChar: 1; // enable error replacement
DWORD fNull: 1; // enable null stripping
DWORD fRtsControl:2; // RTS flow control
DWORD fAbortOnError:1; // abort reads/writes on error
DWORD fDummy2:17; // reserved
WORD wReserved; // not currently used

WORD XonLim; // transmit XON threshold
WORD XoffLim; // transmit XOFF threshold
BYTE ByteSize; // number of bits/byte, 4-8
BYTE Parity; // 0-4=no,odd,even,mark,space
BYTE StopBits; // 0,1,2 = 1, 1.5, 2
char XonChar; // Tx and Rx XON character
char XoffChar; // Tx and Rx XOFF character
char ErrorChar; // error replacement character

char EofChar; // end of input character
char EvtChar; // received event character
WORD wReserved1; // reserved; do not use
} DCB;
 
to thx1180:
可不可以不用CreateFile来得到Handle,我调用了windows的dialer.exe用createfile端口
会冲突啊!
不知道可不可以用windows的消息来实现,可是Spy,Winsight里并没有此类消息啊。
哎,各位,帮帮我吧!
 
我有自己写的TAPI控件
 
后退
顶部