If I understood you problem correctly: let's imagine there is a worker somewhere in the office and he or she receives a call in some sort of 3rd part video/audio conversation program (and that program shows some call id you need to retrieve). Usually number can be written down by the worker to retrieve info from database, but that's where you wan't to automate this part. So if you can't alter that 3rd party program and that 3rd party program does not have any public api to get that caller id, there is only one solution to automate this process - scraping data. This can be done in most likely 3 ways:
1) Scraping using image pattern analysis and recognition. Basically you have to analyze the image of the program depending on what you know about it. Maybe the caller id is shown in the same place of the program, or at some defined place or you can see some 'rules' where and how it's displayed. Then use optical character recognition for parsing that number from image. For best result including performance I would suggest to write your own implementation depending on that program (collect images and analyze them). Or you can use vectorial optical recognition (something similar to fingerprint recognition), this is less accurate taking one particular case, but more abstract and could be used on different fonts, sizes, wights and etc.
2) Scraping using win api. If the 3rd program is written using default windows components, you can use spyxx.exe (
https://msdn.microsoft.com/en-us/library/aa242713(v=vs.60).aspx[
^] ) to understand programs structure and then finding where in the windows children is that caller id. If program uses some graphical rendering to display that caller id, this approach won't help in any way. Otherwise if you can reach the label, textbox (or some other component) of that window and retrieve data from it, cool, it's the simple and the fastest way to scrape it. Retrieving that caller if (not including exception handling and SOLID programming) probably would take around 50 code lines.
3) Injecting into process and overtaking windows messages to catch when the caller id is shown/rendered or whatever and get it. This is the invasive and most likely would break some EULAs or contracts. In simple words it's hacking.
And in all these cases you should be aware that the structure of that 3rd part program might change in the future and your scraping method won't work anymore.
Martynas A.