I want to know if Office clipboard collection is enabled. This is a clipboard panel that saves the last 24 clipboard data. In Office 2007 and 2010, you get it by expanding the clipboard area on the Home ribbon, and in Office 2003 you can open it from the taskbar area and select the clipboard from the menu.
I have an Office plugin.
Although I make all kinds of API connections (using IAT), I am looking for the simplest solution.
My initial idea was to look for a window with the title: "Collect and Paste 2.0" (test yourself with Spy ++), with various Windows classes (for example, in Word it's bosa_sdm_msword). However, users can check "Build without showing the Office clipboard" and restart Office. At this point, Office will collect data without any signs in the window.
I look at the registry key: Software \ Microsoft \ Office \% d.0 \ Common \ General \ AcbOn. This is cool, but this entry is not saved until the user logs out of Office. Therefore, users can open another application, enable the collection, close the window.
Office clipboard creates an icon in the notification area. See Question: How to get a list of notification area icons? . Unfortunately, this question has not received an answer to this work. If you know the answer for this, answer here or to this question (you will get +1 twice!)
As I said, I enter the application process and I can intercept everything that has an export symbol, but I would like to minimize the impact on the application. For example, intercepting a message or subclassing a window will affect the performance (and in some cases stability) of an Office application.
Office 2003 has a window with a class named ("ActiveClipboard"), but I cannot find it in 2007 and 2010. On the other hand, I see WM_USER + 2304, which I do not know what it is.
Has anyone come this way? Any hint?
winapi ms-office reverse-engineering
Uri
source share