ايران ويج

نسخه‌ی کامل: شناسايي com هاي موجود در کامپيوتر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
آيا روش خاصي براي شناسايي com هاي موجود در کامپيوتر وجود داره ؟
اگه درست گفته باشم com هاي سخت افزاري حداکثر 4تا و به شماره هاي 1 و2 و3 و4 هستن.
من مي خواستم با دستور on error goto label موقعي که به mscomm.comport مقدار دهي ميکني يا با دستور باز و بسته کردن پورت که در زير آواردم بتونم تشخيص بدم که کدوم com ها وجود دارن اما جواب نگرفتم و بعضي مواقع ، باز يه Erro ميده که مثلا invalid comport يا از اين قبيل که مانع اجراي برنامه و شناسايي ميشهو در عمل دستور on error goto label رو بي اثر ميکنه .:(
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True

من تو برانامه pic basic pro ديده بودم که com هاي موجود رو ميشناسه
تو شکل مشخصه که برنامه com های 1و3 رو تو کامپیوتر من موجود دونسته.

[تصویر:  2lsfi3d.gif]

آيا روش خاصي وجود داره؟
مواد لازم{
MSComm1
Command1
List1}

تعداد پورت سریال می تواند بیشتر هم باشد با قرار دادن کارت آن در مادربرد. من کارتش رو ندیدما Amaze اما شدنی.
روش های دیگری باید باشد اما این راه جواب می دهد.
کد:
Private Sub Command1_Click()
On Error Resume Next

For i = 1 To 10

    If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
    MSComm1.CommPort = i
    MSComm1.PortOpen = True
    If MSComm1.PortOpen = True Then
        List1.AddItem ("com" + CStr(i) + ": True")
    Else
        If Err = 8005 Then
            List1.AddItem ("com" + CStr(i) + ": Opened")
        ElseIf Err = 8002 Then
            List1.AddItem ("com" + CStr(i) + ": False")
        End If
    End If
Next i

End Sub
ممنون ولی من منظورم بیشتر این بود که آیا روشی مثل خوندن از بایاس مادربورد هست که بشه سخت افزار رو شناسایی کرد؟ :)
اره راستی توی بایوس هم یه جایی هست که آدرس پورت های سریال و پارالل رو که شناسایی شدن نوشته توی این کتاب های سخت افزار هست (اگه پیدا نکردی بگو بگردم)
ولی فکر کنم خوندن اون آدرس هم دردسر داره
نشد دیگه. اول گفتید مشکل :wink: on error goto label
باید باشد اما من نمی دانم البته منم دوست دارم بدونم اگر پیدا کردید ممنون می شوم به من هم بگید.

اما این روش هم به درستی کار می کند. و خطا ندارد.
پورت هایی که وجود دارند را نمایش می دهد.
پورت هایی که در حال کار هستند را نیز مشخص می کند.