I just used Win32 APIs, and I made a window that "stuck to" the bottom of IE windows, and followed them around. The tabs were rendered there. I forgot what I did for maximized IE windows.
To make the tabs "switch" I basically hid and showed the IE windows, by their window handle. I think Win32 allowed you to do that to windows of other applications, back then.
I wrote a "virtual desktop" application back around that time, which worked in the same way.
Create a tray-icon, and iterate over all the windows. Any window that was on "this" desktop would be shown, all others would be hidden.
When the user hit the key to go up/down through the virtual desktop list (I think there were four), we'd update the hidden/visible state of all appropriate windows.
Written in C using the Win32 API and only a thousand lines of code or so. It was a pretty reliable and useful hack at the time.
I remember learning about the Win32 API, and then proceed to delete/move UI elements of other Window using VB. I immediately tried to move the "continue" button of WinZip. Does anyone know if these APIs are still allowed or are they locked behind the UAC prompt now?
As a remember as a teenager I wrote a program that would constantly call the beep function (read: loud squeals from your motherboard speaker, if you had one, and not affected by volume controls so you couldn’t turn it off easily) and then that program would use the Win32 APIs to also poll for any task manager windows you might launch and minimize them immediately so that you couldn’t kill the process. I sent beep.exe to some of my friends on AIM at the time and they ran it (it was a simpler time) and were not amused- even after I told them they could just restart their computer to make it stop.
(I had a version that added itself to the registry to auto run at startup, but even my teenage self thought that was a bit too far).
I used to work tech support for a DSL company. The tools used to log customer interactions were slow and buggy. I taught myself VB to fix a lot of issues in the UI, and automate a large part of my job.
I taught a coworker (who had never touched any code before) some of it. After a few months he moved on to do data entry for another company. When I saw his title on LinkedIn change to "automation engineer" after a while I was curious and had to ask what happened. He had automated most of his data entry job. The bosses got curious and asked to share his secret which he did, got a fat raise and a nice title. Sadly, most of his team was let go, but I'm happy I helped him become a programmer.
As far as I know, most of this stuff still works. There might be some security boundaries that apps can opt into, but most of them do not. So something running as your user, you can probably manipulate the UI of.
There's been some amusing ones even not so long ago, like this one:
> Does anyone know if these APIs are still allowed or are they locked behind the UAC prompt now?
For better or worse this sort of thing still works just fine for apps which still use Win32 controls. All that's really changed with regards to UAC is non-privileged apps can't mess with privileged ones.
You're bringing back waves of nostalgia. I used to frequently read AllAPI.net and come up with mischievous implementations for my own amusement. A quick Google Search netted the following project (https://github.com/microsoft/CsWin32). Looks like my evening is gone.
To make the tabs "switch" I basically hid and showed the IE windows, by their window handle. I think Win32 allowed you to do that to windows of other applications, back then.