Thông báo

Collapse
No announcement yet.

làm sao biết trên máy có mấy cổng COM??

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • làm sao biết trên máy có mấy cổng COM??

    tôi đang viết một ứng dụng truyền nhận qua cổng COM trên delphi. Tôi muốn làm một cái list box liệt kê các cổng COM tồn tại trên máy tính và tình trạng của nó (có rảnh không hay là đã bị một thằng khác chiếm rồi). Bạn nào có thể giúp tôi không?

  • #2
    Nguyên văn bởi plain Xem bài viết
    tôi đang viết một ứng dụng truyền nhận qua cổng COM trên delphi. Tôi muốn làm một cái list box liệt kê các cổng COM tồn tại trên máy tính và tình trạng của nó (có rảnh không hay là đã bị một thằng khác chiếm rồi). Bạn nào có thể giúp tôi không?
    Cách 1 : Start -> Setting -> control panel -> system -> hardware -> device manager -> port

    Cách 2 : click chuột phải trên biểu tượng My computer trên desktop -> properties -> hardware -> device manager -> port

    Goodluck.
    --->

    Comment


    • #3
      bác có cách nào để chương trìnhn tự động làm việc này cho mình không? ý tôi là thay vì bạn phải tự vào device manager kiểm tra rồi mới viết viết chương trình thì có cách nào để chương trình tự kiểm tra không?
      Giống như chương trình Terminal của bác phamthaihoa gửi ấy. Tôi chạy chương trình này trên máy có 1 cổng COM1 => chỉ có radio COM1 được enable, chạy chương trình trên máy có 2 cổng COM => COM1 & COM2 enable. Chạy chương trình trên máy có 2 cổng COM nhưng cổng COM1 đã bị ứng dụng khác chiếm => chỉ có COM2 enable.
      Rất mong các bác chỉ giáo. Tôi xin cảm ơn nhìu nhìu.

      Comment


      • #4
        tôi mới tìm thấy cái này. tiếc là vẫn chưa thực hiện việc kiểm tra tình trạng của cổng được.
        Code:
          with TRegistry.create do
            try
              rootkey:=HKEY_LOCAL_MACHINE;
              if keyexists('HARDWARE') then
                  if openkey('HARDWARE',false)then
                    if keyexists('DEVICEMAP') then
                      if openkey('DEVICEMAP',false)then
                        if keyexists('SERIALCOMM') then
                          if openkey('SERIALCOMM',false)then
                            begin
                              GetValueNames(cmbPort.Items);
                              for i := 0 to cmbPort.Items.Count - 1 do
                                cmbPort.items[i] := ReadString(cmbPort.Items[i]);
                            end
            finally free;
          end;

        Comment


        • #5
          Nguyên văn bởi plain Xem bài viết
          tôi đang viết một ứng dụng truyền nhận qua cổng COM trên delphi. Tôi muốn làm một cái list box liệt kê các cổng COM tồn tại trên máy tính và tình trạng của nó (có rảnh không hay là đã bị một thằng khác chiếm rồi). Bạn nào có thể giúp tôi không?
          Nếu tớ nhớ không nhầm thì delphi có cú pháp dạng

          Try
          ...
          Catch
          ...
          end try

          Bạn dùng có pháp này để mở lần lượt từng cổng COM. Nếu mở được tức là nó tồn tại và còn rỗi. Còn ngược lại là bận thôi.

          Comment


          • #6
            Để biết PC có mấy cổng COM , ta có thể Theo Giải thuật này (mình dùng VISUAL BASIC- nên không biết có Ích không ,nhưng POST lên , hy vọng có chút ích về GIẢI THUẬT) .
            Ở đây ,mình chọn tối đa là có 4 cổng COM , sau khi KIỂM TRA ,sẽ biết được mấy cổng COMTồn Tại:
            Private Function ValidatePort() As Boolean
            Dim i As Integer
            On Error Resume Next
            ValidatePort = False
            With MSComm1
            For i = 4 To 1 Step -1
            .CommPort = i
            Err.Clear
            .PortOpen = True
            If (Err.Number <> 0) Then
            mnuCom(i).Enabled = False
            Else
            ValidatePort = True
            .PortOpen = False
            End If
            Next i
            End With

            End Function

            Private Sub Form_Load()
            If Not ValidatePort Then
            MsgBox "Khong ton tai cong COM nao trong may tinh cua ban", , "Thong bao"
            End
            End If

            End Sub
            My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu

            Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter

            Comment


            • #7
              cảm ơn bác phamthaihoa và bác hoanglongu.
              đoạn mã mà mình post ở trên có thể cho biết trên máy có mấy cổng COM (kể cả COM ảo, USB to COM). Mình sẽ kết hợp đoạn mã mình tìm được với kỹ thuật mà các bác hướng dẫn để phát hiện cổng COM nào đang bị chiếm. Có điều mình vẫn chưa biết cách dùng câu lệnh mà bác phamthaihoa đã chỉ ra, phải mất thêm một chút thời gian nghiên cứu nữa mới được.
              chào các bác

              Comment


              • #8
                mình rất chịu đọc các bài viết của các bạn trên diễn đàn, nhưng càng đọc càng thấy mình dốt, vì vậy bạn nào hiểu về cổng COM là gì, có tác dụng gì, ứng dụng vào việc gì...thì giải thích cho mình biết với, cám ơn trước nhé.

                Comment


                • #9
                  Nguyên văn bởi hoanglongu Xem bài viết
                  Để biết PC có mấy cổng COM , ta có thể Theo Giải thuật này (mình dùng VISUAL BASIC- nên không biết có Ích không ,nhưng POST lên , hy vọng có chút ích về GIẢI THUẬT) .
                  Ở đây ,mình chọn tối đa là có 4 cổng COM , sau khi KIỂM TRA ,sẽ biết được mấy cổng COMTồn Tại:
                  Vậy có trường hợp là PC của mình không có cổng COM nào ko anh? Vì em vào device manager của PC thì không có cái nào là port cả, thêm nữa là em chạy chương trình java test số cổng COM thì không có cổng COM nào xuất hiện sau khi chạy xong chương trình cả.

                  Comment


                  • #10
                    Laptop bây giờ ko có USB=> COM thì làm gì còn COM nữa .

                    Comment


                    • #11
                      Nguyên văn bởi duong_act Xem bài viết
                      Laptop bây giờ ko có USB=> COM thì làm gì còn COM nữa .
                      Em vẫn thấy trên lap của em có một cổng có 25 chân , liệu đó có phải là cổng COM ko ạ?

                      Comment


                      • #12
                        em thấy trên laptop vẫn có 1 cổng có 25 chân. thường để cắm ra máy chiếu, vậy đấy là công j vậy ak?

                        Comment


                        • #13
                          Nguyên văn bởi tranthangbk Xem bài viết
                          em thấy trên laptop vẫn có 1 cổng có 25 chân. thường để cắm ra máy chiếu, vậy đấy là công j vậy ak?
                          cái cổng đó gọi là cổng VGA anh à, đọc là vê ga.

                          Comment


                          • #14
                            Nguyên văn bởi tranthangbk Xem bài viết
                            em thấy trên laptop vẫn có 1 cổng có 25 chân. thường để cắm ra máy chiếu, vậy đấy là công j vậy ak?
                            25 hay 15?
                            nếu là 25 chân là lpt, cổng song song cho máy in.
                            nếu là 15 chân là vga, cổng video gắn cho màng hình rời.
                            Mãi đi tìm vàng.

                            Comment


                            • #15
                              Cái này dùng VB.NET sử dụng SerialPort thì nó có thể lấy được tên và số cổng COM trên máy.

                              Comment

                              Về tác giả

                              Collapse

                              plain Tìm hiểu thêm về plain

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X