Is there a Windows API for getting the positions of the icons on the Desktop? - windows

Is there an API or a database/settings file/registry for getting the positions of icons on the Desktop?
If you wonder why I want that, basically I want to create a replica of Desktop in my app for my personal use, so that I could access those icons, when multiple windows are open, without using the "Show Desktop" feature which minimises all windows. The problem of Window's "Show Desktop" is that if I opened a new window by clicking an icon on the desktop, performing "Show Desktop" again does not restore all minimised windows at once.
On macOS, I did not have this problem, because pinching-out with 4 fingers showed the desktop without minimising opened windows. It just temporarily moved them out of the screen, and pinching-in restored windows to their original states, even if I had opened a new window by clicking an icon on the desktop.
There are other ways to access those icons, without using "Show Desktop", like opening the Desktop location in File Explore, but then the icon locations are not the same as the Desktop, so it is difficult to find the item I want. Enabling multiple virtual Desktops, and switching to an empty Desktop to click the item is one way, but then it gets opened on that Desktop and I would have to move it to the other Desktop.

Related

Why are all my Delphi apps missing the taskbar menu on Windows 10 but not Windows 7?

In Windows 7 when I right click on the taskbar icon, all my Delphi apps (5, 2006 and XE) show the full taskbar menu: App name, Pin/Unpin and Close Window. On Windows 10 all these apps show only the Close Window menu item. Why is that and how can I get the full menu in Win10?
Update: If I create a new app in Delphi XE on Win 10 it shows the full menu. If I create a new app on Delphi XE in Win 7 it shows the full menu on Win 7 but not on Win 10.
No, this neither happens to all your apps (it happens to every application with a window), nor can David Heffernan be able to see it: Win10 just don't has that (most likely it was gone with Win8 already).
To make sure what fullerm is talking about: right-click on the task button and see its context menu: for every window you only have "close" plus two more generic entries, and then based on the application even more. But the system menu (right click on a window's top left icon) is not available thru the task button anymore
Task button = taskbar representing each currently displayed window. Pinned apps and shortcuts are not task buttons, neither are those of the task tray (rightmost next to the clock)
System menu = context menu every window owns with basic entries like "minimize", "maximize", "close", "size", "move" and even more. Accessible thru right clicking the topleft icon of a window or pressing ALT+SPACE. Might be inaccessible when the window is owner-drawn.
Window = owned by a running process. Processes neither need to have a window, nor are they restricted to only having one window. Nowadays Windows calls processes "apps" (I guess).

windows taskbar and open programs

Is there any way to place the taksbar icons of all the open apps in Windows 8.1 next to each other automatically?
Say I open an app whose icon is on the far left, next to the start button, and I want said icon to appear to move to the far right of my string of icons, next to all my other open programs, automatically.
Is there any way to do that?
Do you mean, for applications that you have already pinned to the taskbar, you want them to move over to the end of the line of open programs? I don't think it is possible to set this option automatically. However, you can manually move them to where-ever and they will remain pinned. For other taskbar settings, just search Taskbar and the settings box will come up.

Show NSWindow when Mission Control/Exposé "Show Desktop" is active

I am building a Cocoa application that allows you to drag and drop files from a NSTableView to your computer. Personally, and I know I'm not alone, when I use applications like this I grab the files, invoke the "Show Desktop" hotkey which makes all my windows go away and then I drop the files on my Desktop.
However, if the files already exist on my Desktop, or wherever I'm dropping them, an Alert sheet comes up asking if I want to overwrite the files. But since I'm in Mission Control/Exposé "Show Desktop" mode, the sheet is floating in the middle of my Desktop instead of attached to my NSWindow...
Ideally, if my application has to show an alert sheet, while all the windows are offscreen, I would like to bring my window forward and out of this mode so the sheet is attached to it and not floating in the middle of my desktop but I cannot find much information on the subject. I've tried the standard makeKey and orderFront tactics but no dice. I've also looked into NSWindows setCollectionBehavior but none of these options seem applicable unless i just want my window to just always stay out and ignore this mode.
Does anyone know how to bring a NSWindow out of Exposé when in "Show Desktop" mode?

How to hide a window in Windows 7, just like desktop managers do

When I install a virtual desktop manager on Windows 7, and I switch to a different virtual desktop, all the current windows disappear, also disappearing from the Start Menu.
I want to hide some of a particular application's windows, but not all of them, in a similar manner. How can I hide a window like this?
In particular, I need to hide a VirtualBox Seamless mode window, so I'm not sure minimizing the window will work. It does, however, disappear when using virtual desktop managers.
The same window cannot appear on multiple desktops. If you need your application window to appear on multiple desktops you need to create a separate window for each desktop. The desktop a window appears on depends on the thread that creates the window. You can change the desktop thread assignment using the SetThreadDesktop function.
The answer is simply ShowWindow(SW_HIDE) and ShowWindow(SW_SHOW). I think "Virtual Desktop Managers" just hide windows and show them as necessary when the desktops change.

Windows Mobile 6.5 Running Program List Icon

I've got an windows mobile 6.5 application I'm developing and am having trouble with one icon. At the top right hand of the screen there is an icon that, when clicked, will display a list of programs running the background with the option to close them.
When my program is in this list, it's icon does not show up as the others do.
I'm my exe I've got an .ico for 16x16, 22x22, 32x32, 36x36, 44x44, 45x45, 60x60, and 64x64, with the optional 90x90 png and registry setting in my cab.
What am I missing?
I'm just guessing here, but is this an HTC phone? Stock Windows Mobile does not have a "task list" icon in the system tray, so this task list is provided by the OEM. You would need to find out how they are obtaining the icon.
Chances are they are not obtaining it from the cab, but are actually getting it from your top level app window. You should check you're specifying the right icon in your WNDCLASS structure when calling RegisterClass. It is pretty common in WM to forget this because normally this icon is not visible.
Windows Embedded Handheld (Windows Mobile) 6.5/6.5.3 Appications use the exe embedded ico files only if there is no icon via registry available. In those cases the icon also look very ugly in the start menu. So you will have to add a registry entry to an icon file.
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\MyApp.lnk]
"Icon"="\Windows\myapp.png"
See also: https://blogs.windows.com/windowsexperience/2009/08/11/using-custom-icons-in-windows-mobile-6-5/

Resources