I have an application that will use oleacc.dll to grab the other running windows application text. In my client I have found the case, the access to oleacc.dll is denied or failed and my application could not grab the running application text. I do not know exactly why the access to oleacc.dll at my client end is denied.
After researching on the OLEACC.DLL, it is found that the oleacc.dll error can be cause by:
- Windows update might delete this dll Could not find exactly what particular updates cause this issue.
- Anti-Virus software, Registry cleaner or booster might corrupt or delete this dll Eg; AVG, Zone Alarm Internet Security Suite Installation
- Virus, Trojan and Malware infection which has corrupted or delete it Eg; Trojan: Win 32/Agent E Malware: Win32/Cnzz
- Invalid or corrupt oleacc.dll registry entry
- Microsoft hardware failure, such as a bad hard drive, which has corrupted the oleacc.dll file
- Another program overwrote the required version of oleacc.dll
- Another program maliciously or mistakenly deleted the oleacc.dll file
- Another program uninstalled the oleacc.dll file.
Major drawback of my application is, it could not know if the access to oleacc.dll is okay or not - hence my application runs but will not grab and users could not know if it is grabbing the text or not.
So, I wanted to know is there any way to check if the access to oleacc.dll is failed. Once detected, my application could able to raise an alert to user and register the oleacc.dll (using regsvr32 command) from my application automatically.
Code:
IAccessible acc = null;
int retval = AccessibleObjectFromWindow( hWnd, 0, IID_IAccessible.ToByteArray(), ref acc );
Thanks Prakash