2012-11-05 5 views
1

에 걸려 내가 가지고있는 콤보 상자에 설치된 프린터의 목록을 가져옵니다 코드 조각 다음앱 냉동/Printing.PrinterSettings.InstalledPrinters 반복

For Each s As String In Printing.PrinterSettings.InstalledPrinters 
     edtPrinter.Items.Add(s) 
    Next 

그러나 내가 단일 클라이언트에 문제가 설치가, 아마이 반복이 멈추고 내 앱을 잠그는 스풀 서비스가있을 것입니다. 특정 컴퓨터의 제어판에서 "장치 및 프린터"를 클릭하여 탐색기에서 동일한 "멈춤"을 트리거 할 수 있습니다. Spool32를 다시 시작하면 반복이 다시 발생할 때까지 앱이 비워집니다.

스풀러 문제를 해결하는 대신 어떤 종류의 시간 제한을 구현하는 것이 가장 좋습니다. 그렇지 않으면 스풀러 문제가있는 경우이 호출이 내 응용 프로그램을 정지시키지 못하게하는 방법은 무엇입니까? 난 정말 어려움없이 별도의 스레드에서 이것을 부를 수 없다 - 동결에 내 애플 리케이션을 노출하지 않고이 속성을 호출하는 더 좋은 방법이 있습니까?

답변

0

한 가지 가능성 : 프린터가 설치되지 않은 컴퓨터에서 Windows 인쇄 기능에 액세스 할 때 Windows가 충돌하는 경우가 있습니다. 클라이언트에 프린터가 하나 이상 설치되어 있는지 확인하십시오.

+1

초기 문제가 수정되었습니다. 손상된 프린트 드라이버입니다. 문제는 인쇄 드라이버가 손상되어 내 앱이 응답하지 않게되어 내 앱에 좋지 않은 영향을 미쳤습니다. Windows 탐색기에서 같은 일이 발생했다는 것을 사용자에게 보여주는 등 설득력이 없었습니다. "내 응용 프로그램에서. – Molloch