I can't help you find the dll's, because I don't run Windows. But I
could help you write a clearer question:
"doesn't work" is thoroughly useless for describing errors. If you're
getting an exception, show us the full traceback. That will show which
statement got the exception that wasn't caught. Next question is which
of the dlls is missing. Are you getting an exception because it's
missing or because of something more fundamental, like nesting exception
handlers?
Using bare excepts is almost never a good idea. If it "works" you get
no clues what went wrong. For example, a typo in source code can
trigger a bare exception, as can a user typing Ctrl-C. So when you're
using bare excepts, you have robbed the user of any way to terminate the
program.
If I were you, I'd be writing a loop so there's only one try block. Too
much duplicated code in the way you're doing it.
--
DaveA