SHLoadNonloadedIconOverlayIdentifiers doesn't work in the WinXP? - windows-shell

In the current project, I'm making an icon overlay. The actual implementation is completed.
And I made sure that it worked well in WindowsXP and Windows7.
But I want to appear to overlay icon immediately without restarting the explorer process.
So I found a way that SHLoadNonloadedIconOverlayIdentifiers function signals the shell and then load the nonloaded Shell Extension dll.
I make sure in the MSDN that minimum supported clinet of this function is Windows 2000 Professional.
In Windows7, this function worked fine, but it did not work in WindowsXP.
I would like to know why.

Related

Issue with resizing windows using an Application Compatibility shim

I'm trying to run a legacy VB6 application on Windows 10. I'm using creating an .sdb shim file which detects the application's .exe using the Compatibility Administrator tool found in the Windows ADK. Whenever the .exe runs, the screen resolution is resized to a specific resolution. When the .exe stops, the resolution returns to normal.
The Compatibility fixes I'm using are "ForceDisplayMode" with parameters to display at the legacy app's old resolution. And also "ForceTemporaryModeChange" which will revert the screen resolution back to normal.
One problem I'm having is that when the application is open, if I close my laptop lid and reopen it, the .sdb stops working (windows doesn't log out). If I log out, the old resolution is maintained as expected. I'm trying to figure out if there's an option to maintain the .sdb's resolution, or if this is an oversight on Microsoft's end?
Ok, in the off chance that anyone has this incredibly obscure problem in the future, the solution was apparently to disable tablet mode on Windows 10 1809. That solves the .sdb shim being undone by closing the lid on my SP3/SP6s.
Edit: Ok, turns out that was not the solution. It was just coincidence, so I've uncheckmarked this answer. We had an image that didn't have this problem but then later images reverted this behavior. Still don't know why this occurs.
Edit 2: I still don't know why this occurs but I have a few observations that may help someone. I'm on Windows 10 LTSC Version 1809 Build 17763.615. It seems to have to do with specifically putting the SP6 to sleep via flipping up the keyboard. If you sleep by Windows > Power > Sleep or pressing the power button or letting the SP6 go to sleep on its own, the SDB is correctly maintained. Another odd observation is that if you sleep via the 3 ways listed above but then flip up the keyboard, the SDB is cancelled.

Common dialogue control seems to keep my programs running after I close them

I currently run a 64bit Windows 10 development box. I have old VB6 source that I have to unfortunately keep updated for the time being. For some reason all the sudden I noticed that one of the applications I have just built seemed to stay running in the background after the GUI was closed.
I started debugging the issue more and more until I found out that the only time it would seem to persistently stay open in the background after the GUI was closed was if I clicked the button on my form that would call the Common Dialog control to show the file open GUI. I only have to show the file open window and then hit cancel for this to happen.
This ONLY seems to happen on ONE of my dev machines (not the other). Every time I use that CD file open box I have to open task manager up and end the task. I also tried to make sure all forms were closed when my main form starts to Unload. Nothing seems to work or shed any clue on what the issue is. I have also double checked that the following files are now all the same coping them from the known working dev machine to my broken one and re-registering them.
COMDLG32.OCX
comdlg32.oca
comdlg32.dll
COMDLG32.DEP
Both machines are running the same exact OS Win10 Pro 64bit.
That does sound strange, getting different results on the two machines. Pragmatically, you can work around the problem (without actually understanding it) by making sure that you execute an End statement. (You can put it in the QueryUnload event to make sure it's hit if the user clicks the "X".)

blank window when installing visual studio on windows 10

I have a Windows 10 64-bit PC (fresh install, not an upgrade).
When I run the setup file (web or offline alike) in order to install Visual Studio (2013 or 2015, Community edition), all I get is a small black rectangle on the screen (which I later found out that this is actually the title of the setup popup window), without the actual window of the installation.
I have tried it also after a reboot, and with various "versions" of the installation files (web, iso, standalone), but it's always the same situation.
What can I do about it? VS is my main development tool and I really need it on this computer as soon as possible.
Similar problem here. Program install ok but display blank screen after launched.
Problem solved when I changed my Nvidia graphics's global 3D setting to integrated graphics.
Right click desktop
Select Nvidia Control Panel
Select Manage 3D Settings
Under preferred graphics processor, select integrated graphics.
Apply.
If you are using a laptop with an external monitor, try unplugging it and using your primary monitor to launch. This worked for me. Laptops often have dual graphics cards and I believe we're hitting some issue with the way the Installer for VS was written (likely WPF)
Once I launced it and started the installation, I could safely plug my monitor in and it kept working properly.
I'm using an AMD GPU, It was a blank white screen but when I hover the mouse over it, I can see the text events
By the way
I went to my AMD Radeon Settings and saw that vs_installershell.exe and vs_setup_bootstrapper.exe were added automatically to the Switchable Graphics list
they were with Not Assigned Option which usually is like High Performace Option
means It would run it with my ATI GPU.
So I clicked on them
Selected Power Saving Option (to work with my Intel GPU)
Which worked and I can see the window of visual studio installer back
after restarting visual studio installer for sure.
whether is your graphics card, just turn on power saving for it.
Had the same issue. Since this topic is not accept any answare, there is one from https://developercommunity.visualstudio.com/content/problem/150888/visual-studio-installer-shows-blank-screen.html
Try to open installer as Admin.
You will probably have blank screen. Do not close it!
Open installer once more.
Hope it help other people with same issue.
the same thing happened to me, i didn't do anything i just waited for it and it started showing it's status, i suggest you close other running programs to avoid conflicts and performance hindering, and try it again.
This seems like a very shoddy issue. I've run into this problem too, and I tested all solutions that I came across online. These all work:
Running the installer as administrator, which is a blank screen. Leave it open and run a second instance of the installer, which will not be blank (doesn't need to be run as administrator the second time.
Changing screen settings so that the laptop screen is not being used.
Downloading the AMD Settings application, and setting vs_installershell.exe to run on powersaving mode. Restart the installer after saving the settings.
Use a default graphics driver instead of the AMD one.
I had the the same problem in my laptop. The temporary solution is: start the installer only without the battery, if installer starts you can connect the cable, it works fine.
I had to run integrated graphics rather than my Nvdia. That solved it for me.
Remember to change it back when programming in OpenGL and DirectX otherwise you may get a list of messages staying that nothing works.
I had the the same problem in my laptop. The work around is, in device management, remove the amd graphics or start the installer only with battery.

IsClipboardFormatAvailable returns true but GetClipboardData returns NULL even when text on clipboard

This is a problem I only see in vim but I am hoping someone can provide advice on what to look for (with google code shutdown, I cannot submit bug reports for vim).
On x64 Windows 8.1 (it works fine on x64 Windows 7) vim/gvim works fine with the windows clipboard until you launch a web browser (chrome, firefox, opera, ie). When the browser is running, vim can place text on the clipboard but cannot get text from the clipboard. When the web browser is closed, the clipboard starts working again.
I have tracked the problem down to IsClipboardFormatAvailable(CF_UNICODETEXT) returning non-NULL but GetClipboardData(CF_UNICODETEXT) returning NULL under these conditions. It seems to be something specific to how vim is using the win32 api (probably different calls than these) because simple test apps that I write doing this work fine.
I have tried running with different compatibility settings and running as administrator but nothing makes a difference. This behavior is the same for both 32-bit and 64-bit builds created using Visual Studio 2013 Community and 2010 Professional.
What is the most puzzling is that the official 32-bit build (very old at this point) works fine but my own build off of the exact same tag (or every other build I have found on the internet) does not work.
For the curious there are instructions on how to get and build vim on windows here (note - I am not the blog author): http://solar-blogg.blogspot.com/p/vim-build.html

`RegisterDragDrop` returns S_OK, but no calls to the method DragEnter

I'm facing this problem in Windows 7. First I define a class which implements IDropTarget. Then I use RegisterDragDrop with a handle to a control placed in a window of my application. The RegisterDragDrop returns S_OK but when I drag&drop a link from Mozilla FireFox to the control, there is no call to DragEnter nor any other function of the IDropTarget implementing object. I'm so exhausted don't know what to do.
Thanks in advance
P.S: I just found out that when I run my app as administrator, this problem happens!
When I just run the application normally, everything works fine! (Perhaps does it have anything to do with changing messages filter?)
Assuming your code is correct and you've implemented your side correctly; if you're developing on Windows Vista or Windows 7, make sure you're running the application at the same privilege level as Mozilla. If you're developing in the IDE running as administrator, but run Mozilla Firefox as the logged in user, then they cannot communicate through drag-drop.
If that isn't the case, then you can try dragging files from Windows explorer to make sure your code is working correctly. It could be that Mozilla Firefox isn't using Microsoft's Ole Drag and drop subsystem correctly or at all.

Resources