473,387 Members | 1,864 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Take control over ActiveX by hwnd.

Hi everybody.

My problem is - I want to take control over an ActiveX control of another running process. All I can obtain is a hwnd of the mentioned control. I can explore the control (coclass?) interfaces using OLE/COM viewer.

I tried to get the IUnknown interface of the control through IAccessibleFromWindow and it seems possible. But when I query IUnknown interface for another (coclass?) interfaces (for instance IGrid for MSDataGrid) it usually returns NoInterfaceSupported or something like that (but it works for IAccessible).

My question is - is it just possible to take control over another proccess' ActiveX control (just like I was developing an application using this control, for example check a ColumnCount property for some kind of data grid) knowing only its hwnd (obtained from Spy++ or much the same software)? I haven't found an application which could list all supported ActiveX interfaces using just its hwnd (there is Inspect32 from Microsoft Accessability Package but shows only most popular interfaces; or maybe I am wrong and it shows all available interfaces which can be accessed from another process? Maybe coclass of running ActiveX control cann't be accessed from another process and those all interfaces I'm talking about are implemented by the coclass itself and not by the visible ActiveX control? I'm not a COM specialist, unfortunatelly).
Apr 8 '08 #1
1 2429
weaknessforcats
9,208 Expert Mod 8TB
Do some reasearch on "dll injection" and "API interception".
Apr 8 '08 #2

Sign in to post your reply or Sign up for a free account.

Similar topics

9
by: Jim | last post by:
The below problem occurs randomly too, but I've managed to isolate a sequence of events when it always happens: I have two forms (say Form1 and Form2). Form 1 contains a TreeView control. A...
10
by: fotzor | last post by:
Hi, I'm a C++-Programmer and want to subclass the Edit used to write a SQL-Query in Access. The edit is of the special Access class OKttbx. Everything works, I injected a DLL into the...
2
by: gkelly | last post by:
What is the best soltions for creating a graphical object in c# for use in a C++ app? - I heard some say you can't create an ActiveX control in dotnet and I have heard others say you can using...
0
by: MikeZ | last post by:
I have a 3rd party ActiveX Control in windows Form. It sometimes generates error which not come from my source code. How can I handle this? Thanks. See the end of this message for details on...
0
by: Berry W | last post by:
Hi, I'm trying to capture hidden window's data that is in IE's AxSHDocVw.AxWebBrowser ActiveX control. If Control and window are visible, code below works but if Control and it's window is...
0
by: sukhpalsingh | last post by:
With this little DLL you can embed either Mozilla ActiveX Browser Control or MSIE by just calling it's EmbedBrowser(HWND hwnd, int i) function. 0 = Mozilla Activex Browser Control and 1 = MSIE. ...
1
by: Janiek Buysrogge | last post by:
Hello, I've written a Windows Forms application in .NET 2.0 and am exposing it to COM using the checkbox in Project Properties and by adding some register functions and adding it to the GAC. I'm...
23
by: Galen Somerville | last post by:
A VB6 ActiveX.exe raises an event which is seen by the VB6 App. Same setup in VB2005. The event to be raised is in form frmSweep. As in VB6, frmSweep is hidden when the events take place. I...
0
by: JAnn81 | last post by:
Hi. I have an activeX plug-in which is a user control written in .NET. I used WndProc function to view the messages sent to my application. My application will be hidden when it received the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.