Odmowa dostępu do portu „COM1”
Próbuję otworzyć port COM1, ale pojawia się błąd „Odmowa dostępu do portu 'COM1'”. Piszę program do wysyłania SMS-ów przez .NET. Spodziewam się, że może wystąpić błąd, ale błąd „Odmowa dostępu” nie powinien wystąpić. Proszę o jakieś rozwiązanie. Jeśli port wymaga jakichkolwiek uprawnień dostępu, jak mogę to zrobić?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Jeśli występuje COM1, oznacza to, że inny program zostawił go otwartym. Dostęp do COM1 jest wyłączny; tylko jeden program może go otworzyć naraz. Oprogramowanie do obsługi faksu lub modem może je otworzyć, ale możesz też zostawić je otwarte samodzielnie.
To łatwe. Jeśli używasz programu, który otwiera port i zapomina go zamknąć lub jeśli wystąpi błąd i program zakończy pracę bez zamykania portu, przy następnej próbie otwarcia portu COM1 pojawi się ten komunikat. Tylko program, który otworzył port, może go zamknąć. Bloki Catch lub Final to dobre miejsca na zamknięcie portu i zapobieżenie temu.
Anonimowy użytkownik
Potwierdzenie od:
Spróbuj pobrać
PortMon
http://technet.microsoft.com/e ... .aspx
i powie ci dokładnie, jakiego portu używa.
Anonimowy użytkownik
Potwierdzenie od:
Jeśli tak, to też jest problem. Jeśli się nie mylę, tylko jeden wątek może mieć dostęp do portu COM w danym momencie. Będziesz musiał napisać kod, aby upewnić się, że tylko jeden wątek próbuje uzyskać dostęp do portu w danym momencie. Zwykle sugerowałbym kolejkę i pracownika dla tej kolejki, która wykonuje zadanie.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od: