同上谢谢今晚结分。

解决方案 »

  1.   

    function ComOpenA(ComPort:string):boolean;
    var
    hNewCommFile:THandle;begin
    hNewCommFile := CreateFile(PChar(ComPort),GENERIC_READ+GENERIC_WRITE,
    0, {not shared} nil, {no security ??}
    OPEN_EXISTING,
    {FILE_ATTRIBUTE_NORMAL+}FILE_FLAG_OVERLAPPED,
    0 {template} );
    if hNewCommFile = INVALID_HANDLE_VALUE then result:=true else result:=false;
    CloseHandle( hNewCommFile );end;
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    if ComOpenA('Com2') then showmessage('端口Com2已经打开') else showmessage('端口Com2未占用');
    end;