Delphi 2007-2009 vs Logitech web-cams
Казалось бы какая взаимосвязь между этими двумя совершенно разными по своей специфике продуктами. Однако мне пришлось изрядно потрудиться чтобы найти взаимосвязь. Думаю не секрет, что я разрабатываю свои программы в среде Delphi, так вот, всё работало чудесно и программы мои запускались под отладчиком без проблем, до того момента, пока я не купил веб-камеру от Logitech. Выбрал logitech по совету друзей, ну и сам полазил по инету и ничего более интересного, чем продукты от logitech не нашел. Да и мышка у меня тоже от logitech, простая (LX3) без понтов и наворотов, лучше для своей работы не нашел. Но в отличии от мышки, веб-камера оказалось более “вредоносна”. Я обратил внимание на то, что даже самое простое Delphi приложение, при запуске под отладчиком через раз вываливается с ошибкой буквально на пустом месте. Вначале я подумал, что видать я сам где-то что-то подпортил в настройках Delphi и переустановил её по новой. Но результат был тотже. Пришлось более подробно изучать проблему. В итоге оказалось, что при запуске под отладчиком, в процесс отлаживаемого приложения ”инъецируется” dll-ка камеры logitech. Инъекцию выполняет служба lvprcsrv.exe от logitech. Убив процесс этой службы, проблема с отладкой исчезла. Погуглив на эту тему, оказалось, что много проблем и в других программах и средах разработки эта служба от logitech создает. Вообще не ясно, для чего выполнять такую ”хакерскую” инъекцию в каждый процесс в системе, перехват каких функций им понадобился, что так вот жестоко обошлись. Да и что же это будет, если каждый производитель железа будет делать инъекцию во все запускаемые приложения. Очень неграмотный подход, который не свойственен такой солидной компании. А если еще учесть, что все приложения разные и написаны на разных языках, то иногда даже безобидная инъекция может дестабилизировать простенькое приложение, а рядовой пользователь никогда и не узнает, что проблему на самом деле создает инъекция от какого-либо драйвера или приложения системы.