How can I warp/resize/translate the windows desktop output? - windows-7

I saw this video (YouTube) and I want to make use of the ability shown at 3:00. Can anyone tell me what is being used here? Ideally suggestions would work on Windows 7 at least.
I've had a few google searches for "Active Windows Desktop", which was mentioned in the video, in an attempt to finding something that has this feature but I failed at finding anything

I'd recommend you look into WPF -- it has built-in features for arbitrary transformations of window content, so it would probably be a good place to start looking.

Related

What's the recommended tech to program Windows shell?

I am developing a small tool that can detecting which folders are being opened in windows explorer and bring it to front if a specific address has been opened.
I can use both C# and C++ and finally pick C# as it is easier than C++ to accomplish the same target. Then I googled the internet and knowing COM object SHDocVw.ShellWindows can help collect all windows being opened. Then I start looking for Microsoft document to see if any functions can help to achieve my other requirements. However, when I search shell related documents: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ff521731(v=vs.85) I am warned that "We're no longer updating this content regularly. Check the Microsoft Product Lifecycle for information about how this product, service, technology, or API is supported." Moreover, some documents even say these techs will be deprecated in Win11 (See the following screenshot)
I am wondering what the status of these Shell related technical. If these are being deprecated. What's the alternative solution? I don't want my tool stop working when start using new Windows. Meanwhile, I am confusing in the study routine of learning Windows desktop technical. Looks like so many technical to achieve the same targets. Is there anyone can give me some road maps?
Last thing, it's really frustrating to search COM object documents at Microsoft sites. Is this tech going down?
Microsoft has been trying to kill win32/desktop applications since Windows 8. That parts of the documentation is labeled as "legacy" is not something I would worry too much about. Some of the shell functions have been marked as deprecated for 20 years but still work fine today and too many applications rely on them for Microsoft to successfully remove them.
The Internet Explorer warning is different and IE might actually go away but that does not affect IShellWindows which is also used by Explorer.exe and 3rd-party applications. Its implementation lives in a shell DLL and not in IE.

Replace windows controls with custom ones

I've been trying to search for ways to change the way windows controls look.
For instance change the OpenFileDialog UI at a windows level, or completely turn the file copy/delete/move dialog into something else, like a series of disks or a bucket filling up with liquid.
Looking around i found that i could write a com app that could be used instead of the default windows ones. But i have no idea where or how to start with these, or even how i could see what i would have to implement to achieve this, nor how i would be able to tell windows to use my custom ones instead of the default ones.
Have tried looking in the microsoft documentation, and i'm 99% sure i'm either unable to search for what i need or it's undocumented.
I know there are some apps from Stardock that could do this where i could just make the graphics, but where's the fun in that?
Anybody able to point me in the right direction?
Interested only in being able to achieve this for windows 10.
You could in theory write your own implementations of IFileOpenDialog and IFileSaveDialog and overwrite the Windows registrations in HKCR\CLSID. This might not affect older applications that use the older open/save common dialogs.
There is also CLSID_ProgressDialog and some progress related interfaces you could take over but I don't know if Explorer actually uses these or its own custom version.
This could obviously break your system so you really have to know what you are doing if you go down this path.
While you are developing this you could choose to selectivity inject into a limited set of processes and hook CoCreateInstance instead.
Changes to existing dialogs (adding/moving/hiding controls and images) can be done with Resource Hacker. This was pretty easy in the 90's but it is more problematic these days because some files are protected and Windows updates are more common.

Making a screen recording of my programming work

I saw a cool video of someone coding a NES emulator. If you watch it, you see that there are no pauses, no hesitations, .. He gives a bit of information on how this is done on his site. The idea is based on tool-assisted videogame speedruns.
Does anyone know tools that can be used to create a similar effect in a modern IDE, like visual studio? Normal video capture programs like CamStudio don't cut it.
You'll want to capture in high definition so the text is readable.
There's nothing worse than a programming tutorial on YouTube where
you can't read what the guy is typing.
You'll also want to be able to cut out parts of the recording where there is nothing going on. Hesitations and pauses for thoughts for example.
It might be a good idea to switch to a low screen resolution (1024x768 perhaps) and run the IDE in a fullscreen mode so that there is no unneccessary clutter in the video and the code is easy to see.
Take a look at that list SQLGuru created for a video capture program which makes the cut.
I have managed to locate a list of 17 potential apps that could do the trick for you.
check them out here: http://www.freetech4teachers.com/2012/09/17-free-tools-for-creating-screen.html

Live, evolving, dynamic wallpaper (desktop) on a Mac

Should it be possible to develop a dynamic desktop for the Mac? By "dynamic," I mean a desktop whose images take system parameters, such as the time and job information, and use this information to update the image. Information about image states would also be preserved between sessions. I'm not talking about a movie or a stochastic but autonomous screen saver. Is there any reason a user couldn't develop such a thing? (I'd like to ask how but am trying to keep the question constrained.)
I'm not new to programming but have no sense how Macs work. I'd like to know if there's some fatal flaw in my goal before I start digging in. Thanks in advance for any pointers.
Update: Wikipedia implies there's no direct way to do what I want to do--Mac desktop wallpaper must come from a folder of static images or a screen saver. The only viable approach I see at the moment would be to generate images periodically for such a screen saver (e.g., by adapting this Python script). If this is stupid or a slicker method might exist, would love to hear it.
Very late response but I only stumbled across the question and noticed some recent interest...
Aren't you looking for something like GeekTool ?
This seems to have been implemented in the latest version of Mac OS X: Mojave.
This article has some tips on how to make your own, towards the bottom: https://www.howtogeek.com/369645/download-more-dynamic-wallpapers-for-mojave-or-make-your-own/

API for getting screen region changes?

I am writing a sort of screen-recording app for Windows and wish to know when and which regions of the screen/active window have changed.
Is there a Windows API I can hook to get notified of screen changes?
Or would I need to manually write something like this? :(
I always figured that Remote Desktop used some sort of API to detect what regions of the screen had changed and only sent back those images - this is exactly the behavior that I need.
I don't think there is an API in Windows that can tell you which parts of the screen have changed.
One possible way is using a video mirror driver like UltraVNC uses.
I think you'll find some clues here Screen Event Recorder DLL/Application, here About Hooks, and here Writing a Macro Recorder/Player using Win32 Journal Hooks
It would seem that you're going to have to do a fair bit of work to detect screen changes. This posting at tech-archive.net for instance. With this you can copy to RAM a reference screen and then take another and compare the two. It'd be up to you to define what kind of a change is a meaningful one. It's similar material to this article on desktop capture.
I think Remote Desktop streams GDI like commands. I don't know how they capture them in the first place.
Thanks for your help everyone. I ended up writing an image differencing class which seems to calculate the changed rectangles suprisingly quick. I've posted the gist of how it works here.
At the moment I'm just doing it in a timer but planning to do it after input events too.
Thanks heaps for your links Boost - I've only just looked at this thread again so I'll check them out soon.

Resources