2013-04-15 26 views
5

Tôi là một lập trình viên mù và tôi đang cố gắng phát triển một ứng dụng để tự động lấy lời bài hát từ bài hát đang phát trên Winamp và trình bày nó theo cách dễ tiếp cận để đọc màn hình. Tôi đang sử dụng access_output, một thư viện giúp dễ dàng hơn trong quá trình làm cho trình đọc màn hình hoạt động nói chuyện với người dùng. Bạn có thể tìm thấy ở đây: https://pypi.python.org/pypi/accessible_output/0.7.5#id3 Nó yêu cầu DLL từ trình đọc màn hình hoạt động. Trong thử nghiệm của tôi, đầu đọc màn hình NVDA, nó cần NVDA32controller.dll. Khi chạy từ dòng lệnh, nó hoạt động tốt, nhưng sau khi tạo tệp .exe với py2exe, nó không tìm thấy dll, do đó trình đọc màn hình không nói nữa ... Bất kỳ ý tưởng nào để giải quyết vấn đề này? Tôi nhìn vào mã nguồn của lib và có lẽ đường dẫn mà lib đang tìm kiếm chỉ hoạt động khi nó được thực thi từ dòng lệnh, nhưng khi nó là một tệp .exe, nó thay đổi ... nhưng tôi không biết tại sao. Có lẽ tôi nên thêm một con đường khác, nhưng con đường nó nên là gì?Làm cách nào để tìm đường dẫn cho các tệp DLL được sử dụng bởi lib accessible_output?

Trả lời

2

Các bài viết ở đây dường như để mô tả một vấn đề tương tự và một giải pháp (đóng gói DLL trong câu hỏi): http://eli.thegreenplace.net/2008/10/09/packaging-dlls-with-executable-made-by-py2exe/

Bên cạnh đó, không phụ thuộc vào bài viết ở trên, IIRC Windows tìm kiếm bên trong thư mục cài đặt của chương trình cho DLL. Sao chép tệp DLL cho trình đọc màn hình vào thư mục chứa chương trình py2exe có thể hoạt động. Giải pháp này không triển khai quá tốt và mặc dù một ở trên mặc dù tương tự có thể tốt hơn.

+0

cảm ơn bạn. Hướng dẫn này đã giúp tôi. Ngoài ra, tôi tìm thấy đối số của hàm thiết lập được gọi là data_files, nơi tôi có thể thêm các bộ dữ liệu thông báo cho các thư mục được tạo và các tệp sẽ được sao chép –

Các vấn đề liên quan