I use this code :
Shared Sub OpenApplication(ByVal ApplicationPath As String)
Dim p As Process
Dim ShowForm As New Form
Dim FormPanel As New Panel
FormPanel.Dock = DockStyle.Fill
ShowForm.Controls.Add(FormPanel)
p = Process.Start(ApplicationPath)
Threading.Thread.Sleep(500)
SetParent(p.MainWindowHandle, FormPanel.Handle)
ShowForm.Show()
End Sub
but it run the application inside the panel with the border.
if i make my own virtual operating system, how do i change the border to none?
like windows 7 have their own form border, windows 8 and mac too.
but I make my own form border. it's graphic, how can I make the application use my border?
this is some example(i cannot post image) :
Windows 8 Notepad with Their UI Design (it's Form Border for me)
Windows 7 Notepad with Their UI Design
And this is my UI Design :
(sorry I cannot insert more that 2 links, delete space in http:"Space"//)
http: //40-89-67-30-21.weebly.com//files/theme/Notepad.png
how can I Make like this when double click notepad.exe or another .exe file in my virtual os? (this is edited version !) :
http: //40-89-67-30-21.weebly.com//files/theme/Notepad_edited.png
it's run the exe but with my own UI Design. How can I do like that?
By default 3rd party applications don't support their re-branding by 4th party developers and even OS-specific coding conventions don't force them to do so, except for support for branding the OS, like respecting system colors, accessibility features etc.
In order to implement this you'd have to do a lots of low-level hacking, intercept UI messages (like WM_NCCALCSIZE or WM_PAINT) etc. or replace complete libraries containing the UI drawing API (like GDI32.DLL) with your own.
All of this requires precise work, good understanding of the various low-level aspects and code well-coordinated with the rest of the system and approximately few thousands of lines of code, including some native (not managed) code.
It's doable, but not simple, see e.g. Stardock's WindowBlinds
See also:
Google search windows skins
Related
I'm writing an implementation of the windows UI automation client in VBA and that's going pretty well. But I would like to be able to draw a simple box around the UI element of another window. I'm aware of the inspect.exe application, but was wanting to recreate some of its functionality in VBA for instances where company policy restrictions prevent me from installing any 3rd party applications. Code I've written myself can be copy and pasted from a paste bin account.
Is there something in the windows API or a reference I can import that I could use to draw a box on top of another screen at specific coordinates for a second or two? I'm trying to limit this project to just things that come with an out of the box windows installation.
My question is how to place a window belonging to our win32 application inside of MS Word, when Word has been set as the parent of that window using Windows API SetParent(HandleOfMyWindow, HandleOfWord).
The background of my question is that we have lots of code built around a system where we have installed a macro in Word that when started from a button on the ribbon sends a message to our app to tell it to create a given window and show it inside of Word. This window can then insert text etc. into Word by using Word as a OLE Automation server. This has worked fine for the most part for many years. It still is, but occasionally the window is displayed far out of the visible area of Word. For example it can be 900 pixels to the right of the right edge of Word. It can often be found by making Word very wide across multiple monitors. The problem is only there on multi monitor systems. It is often affected by how our app and Word is placed on the monitors. It might also be affected by what monitors is set as the main monitor.
Our app is made using Delphi creating standard win32 exe's. The problem might have gotten worse after we started using VCL Styles.
I have tried placing our window using Windows API SetBounds and SetWindowPos, just the top and left properties of the form, and some other things. It just never pops up where I think my code is telling it to. Most of the time it is visible and all is well, but still at another position than I set. I just can figure out any system to where it is placed.
However, when writing this I found something that might be relevant, but still no solution:
https://en.delphipraxis.net/topic/4882-a-big-and-very-strange-bug-with-high-dpi-vcl-style-and-form-constraints/
From SetParent documentation: "Unexpected behavior or errors may occur if hWndNewParent and hWndChild are running in different DPI awareness modes."
I would like to enhance the OS X Standard Save dialog with some features (add some controls).
DefaultFolderX actually achieved this
http://www.stclairsoft.com/DefaultFolderX/faq.html
.
They note:
"This means that Default Folder X loads a small piece of program code into each application's memory space (in RAM) so that it can communicate with Navigation Services, the OS X service that provides the Open and Save dialogs."
The question is, is this the easiest way to do this?
If yes, how would someone start on this endeavor (e.g. what kind of Project in Xcode, how to handle the "hook" mechanism if at all necessary, what documentation to read)?
If you want controls at the bottom of the open/save dialog in your app, the NSSavePanel and NSOpenPanel have a function where you can set your own custom view that will sit on the bottom of the dialog. If you want to modify the NSOpenPanels and NSSavePanels differently, or across the whole system, that will take a lot of work that might just break every time Apple updates their OS.
I have to create the same GUI(for Desktop Application) which has used in Avast -Version 7 for the "Left Menu Pane(Summary,Scan Computer, Real Time Shield) etc".
I tried it a lot Already and at last I am asking the name of control that has customized in a way where each tabs on very Left Pane has sub tab like "Summary tab" that listed down following Sub tabs On click
1)current Service
2)Cloud Service
3)Statistics and other Tab sub-option collapse automatically?
Will you please give me guideline in brief to achieve Such effect through WPF?
or If you have some other solution for such GUI than please also suggest.
It is just a left aligned Tabs, larger tabs comprise of following smaller tabs, as in WPF we can customize shape of controls.
Such GUI also has been deployed for Intel Graphics Control Panel(window 7 64 bit).
This kind of GUI is very advantageous, as it holds lots of information in simplest and easier manner for end user.
I'm looking to start a new programming language and for my first task I want to overlay some text on another applications window, similar to the guy in this post:
Overlay text on some else's window - HUD
Clearly from that post, this can be done in VB.NET, and extrapolating from that, I can probably safely assume that C++\C# can also do this similarly.
My question is; are there any other languages that can do the same? Can Ruby do it? :)
I'm looking for the following capabilities:
Enumerate open windows to find the one I want to overlay on top of.
Overlay text on the 3rd party apps window. (Rich text is a bonus)
Detect window bounds so I can resize the text when the user resizes the window.
Allow click-through of my created text so it doesn't interfere with the 3rd party apps functionality.
Any ideas?
If you want to use Ruby, you have two options: IronRuby and "classic Ruby".
I guess IronRuby would be the preferred option on Windows as it runs on top of .NET and has access to full Windows API through that.
If .NET is too much for your needs and you need to do something simple, then classic Ruby might be a better fit.
For classic Ruby, check out these pages:
Ruby and Microsoft Windows
Microsoft Windows Support
Beware: argument packing and unpacking is not very convenient.