Is it possible to take screenshot of Petrel's child windows (programmatically) from the plugin using Ocean 2014.1? At the moment, I can save BMP for Window3D and EMF for other derives of ToggleWindow and read them again from my plugin, but, this doesn't work for all Petrel's child windows. Also, I would prefer to get raster image (like what I get when I push on Camera button action in Clipboard action group, Home tab) and support other windows like Histogram Window, Plot Window, etc.
Unfortunately I don't think Ocean has a common API that does what you want.
As you found out, some windows have methods that allow you to capture an Image dump of the window, but it is far from being generic.
Related
I have developed,Coded UI support for my control(Chart).My Control contains collection of controls.These are arranged on the top of another.
For example,I have add chart area and series (series present top of the area).
When recording, click the chart area but coded ui doesn't identify that control it should give a message for "click series custom control".
So how can I identify each control?
What I understand is the control you are clicking is probably not exposed to UIA. You said you added UIA support for Chart, but did you add support for the type of your controls in your collection of controls?
Btw, a simple way of seeing if a control can be identified by UIA is using the Inspect tool. You can find the tool under your SDK installation (mine for example is under: C:\Program Files (x86)\Windows Kits\8.1\bin\x64), or search for msdn inspect.exe to download from MS.
Ocean2013.1 provides a sample(WheelerViewer) for using cameras(OpenInventor features) for 3D Windows, but is it possible to synchronize(equivalent of clicking the camera link toolbar option) multiple intersection windows in Ocean/Petrel programmatically?
Camera linking is available as a Petrel feature but not as a Ocean API for developer to access programmatically
You need to be mode specific on what you are trying to synchronize and why.
The Window3D exposes enough camera API that one can write his own camera view synchronization.
If all you want is to be able to click the "Synchronize camera" button via API, it's a different issue. Why do you need this? Often users ask to be able to link all windows with one mouse button click. This, I believe, might be coming in 2015 as a user feature.
On Windows we can find the window handle of running process and attach our window onto it as a child window, so the two different processes look like the same one.
I wonder if there is a similar way to implement this requirement in cocoa.
This is possible using code injection. Have a look at mach inject framework and PorcShark Finder.
Or
Find position of another window using CGWindow methods and display your window over it.
Have a look at Son of Grab sample project.
Son of Grab shows how to use the new CGWindow API to get images of arbitrary sets
of windows, including images of the current contents of the screen.
I'm working on a program that can play songs off an iPod. I want to be able to put functional Back, Play/Pause and Next buttons on its Aero Peek thumbnail like this:
For those who can't see it: http://i45.tinypic.com/1yua0m.png
How would I do this in VB6?
EDIT: Can I also create a jump list for my app? For this app, I only need taskbar jump lists. For others, I'll need taskbar and start menu jump lists so posting code to achieve both would be appreciated.
EDIT 2: I have uploaded a sample of how to use the ITaskBarList3 interface to add buttons to the window preview (and handle their click events), add an icon overlay, clip the window preview and add a progress bar to the program's taskbutton. Download it here.
Look at the Taskbar Thumbnail Toolbar feature of Windows Explorer. This does use a COM interface so I don't know how practical it is to use for VB but I beliver the IDLs are available if you look.
You can also find a C# example and the UI guidelines on MSDN.
The Jumplist information is also covered on the same pages.
I'm trying to find a way to get a live view of a specific window. In the same way that Mission Control and Exposé will show you live views of windows that are currently obscured by other windows (this is also done by Hyperdock, so I'm pretty certain that its not a private API).
What is the functionality called? And so where is the documentation on it?
You want the Quartz Window Services API. Basically, you want to create a window list with the windows you're interested in and use CGWindowListCreateImage to get a picture of the window's contents.