unexpected behavior of lnk-files in Win10

English support forum

Moderators: Hacker, petermad, Stefan2, white

Post Reply
wolf.b
Junior Member
Junior Member
Posts: 45
Joined: 2006-01-26, 05:38 UTC

unexpected behavior of lnk-files in Win10

Post by *wolf.b »

Hi all,

I have recently updated to Windows 10. In order to get rid of the overlay-arrows for links on the desktop, I edited the registry
by inserting a "x" to disable the key "IsShortcut" for "lnkfile":

rename HKEY_CLASSES_ROOT\lnkfile\IsShortcut to KEY_CLASSES_ROOT\lnkfile\xIsShortcut

Afterwards, all lnk-files on the Desktop still work as expected: clicking them launches the target, and no more overlay-arrows are displayed.
But when clicking any lnk-files inside TC, I get this message now:

Code: Select all

---------------------------
Total Commander
---------------------------
Error executing program! (31)
---------------------------
OK   
---------------------------
I have tried to delete the key, instead of renaming it. (same message appears)
I have tried to use different methods to suppress the overlay-arrows. (unsuccessful: arrows will still be shown)

Please, can anybody offer any advice as to what I could do to:
1 - not have any overlay-arrows displayed for links on the Desktop AND
2 - be able to use the lnk-files from inside TC without any error messages.

Thank you for reading this post.



PS: Here is an up-to-date export from regedit for reference, in case I screwed something up along the way.

Code: Select all

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\lnkfile]
@="Shortcut"
"EditFlags"=dword:00000001
"FriendlyTypeName"="@shell32.dll,-4153"
"NeverShowExt"=""
"xIsShortcut"=""

[HKEY_CLASSES_ROOT\lnkfile\CLSID]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex]

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\NvAppShExt]
@="{A929C4CE-FD36-4270-B4F5-34ECAC5BD63C}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\OpenContainingFolderMenu]
@="{37ea3a21-7493-4208-a011-7f9ea79ce9f5}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\OpenGLShExt]
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\{00021401-0000-0000-C000-000000000046}]
@=""

[HKEY_CLASSES_ROOT\lnkfile\shellex\DropHandler]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers\Console]
@="{D2942F8E-478E-41D3-870A-35A16238F4EE}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_CLASSES_ROOT\lnkfile\tabsets]
"selection"=dword:00000705
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50918
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

This is a known bug of the Windows functions to launch programs (e.g. ShellExecute, ShellExecuteEx): They fail to open LNK files when you remove the IsShortcut entry. Unfortunately all you can do is put the entry back.
Author of Total Commander
https://www.ghisler.com
paraglider
Junior Member
Junior Member
Posts: 18
Joined: 2009-05-07, 11:46 UTC

Post by *paraglider »

Try this reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons]
"29"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,00,79,00,\
73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,\
00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,35,00,30,00,00,00
paraglider
Junior Member
Junior Member
Posts: 18
Joined: 2009-05-07, 11:46 UTC

Post by *paraglider »

The 29 value should contain %windir%\System32\shell32.dll,-50 after applying the reg file ( make sure the reg file uses unicode encoding ).
wolf.b
Junior Member
Junior Member
Posts: 45
Joined: 2006-01-26, 05:38 UTC

Post by *wolf.b »

paraglider wrote:The 29 value should contain %windir%\System32\shell32.dll,-50 after applying the reg file ( make sure the reg file uses unicode encoding ).
Thank you paraglider, I have tried this, but the overlay-arrows are still displayed, even after rebooting.

I have also tried all the versions found here: http://www.tenforums.com/tutorials/8974-shortcut-arrow-icon-change-remove-restore-windows-10-a.html. Same result. I can't even get the different versions of arrows that are meant to be shown.

ghisler(Author) wrote:This is a known bug of the Windows functions to launch programs (e.g. ShellExecute, ShellExecuteEx): They fail to open LNK files when you remove the IsShortcut entry. Unfortunately all you can do is put the entry back.
Thank you very much for clarification. It seems to me this problems is not related to TC, but maybe it is related to the OS version.


The original question is solved as such, but if somebody who is able to display different arrows on his/her system would be kind enough to compare version numbers, it may still help me.

Version 1511 (OS Build 10586.420) <- This version does not allow different overlay-arrows.
User avatar
HerbieH
Member
Member
Posts: 154
Joined: 2003-02-11, 10:04 UTC

Post by *HerbieH »

Hello wolf.b

I may have found a solution. Just use a blank 32x32 16 color icon as a shortcut arrow.

Reg-file:
------------------------
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Icons]
"29"="c:\\blank-shortcut\\Blank.ico,0"
------------------------

You can get the 'blank.ico' here (plus the reg-file):
https://www.dropbox.com/sh/kfzh0myju6bu324/AACB0vF-lsQH_ii9Wq10TTRva?dl=0

Now there are no overlay icons on shortcuts and they should be working as expected in Windows (10) and Total Commander.

Hope it solves your problem. :)
HerbieH*
-Keep on makin' music!
wolf.b
Junior Member
Junior Member
Posts: 45
Joined: 2006-01-26, 05:38 UTC

solved

Post by *wolf.b »

HerbieH wrote:I may have found a solution. Just use a blank 32x32 16 color icon as a shortcut arrow.
@HerbieH:
Thank you very much for your contribution! But sadly, it did not solve my problem.
I have tried to use your blank icon to the same effect as the transparent.ico from tenforums: My system will not display any arrow differently.

@all:
I can not see the "classic" arrow, I can not see the "custom" arrow, and I don't know why that happens. To me it appears that there may be a registry setting elsewhere which prevents changes made to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Icons from happening, maybe something to do with the size of displayed icons on the desktop, or maybe some group policy? There are three icon sizes to choose from in the context menu, and there are 28 different icon sizes that I can use with Ctrl+Mousewheel.

Nothing I did in the past has EVER changed the look of those arrows. I know there are ways to see transparent overlay icons with some sort of border around them, and there are those without them .... I have NEVER seen any of them displayed on my Win10. That is why I went the route of renaming the registry-key in the first place. Which apparently is needed by e.g. ShellExecute, ShellExecuteEx. And I found that there is a further problem with the missing "IsShortcut"-key: I can't pin anything to the taskbar any more...

To finish, just let me report my final attempt at this: I found WinaeroTweaker (free software) from winaero.com and tried that.
And it worked! I have no more arrows overlayed on my desktop icons. All 28 sizes of icons are fine, I have even seen the "classic" arrows for the first time on my desktop.

Afterwards, I have renamed the "xIsShortcut" registry key back to "IsSortcut", I even deleted the "29" key from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Icons.

TC is now happily using lnk-files, I still can pin stuff to the taskbar, no arrows on my desktop, perfect.

I don't know yet which keys are changed by WinaeroTweaker, but I can tell the "29" key is not needed, I have no more "29" key. That never changed anything for me on my system anyway. If I find out where the problem originally was, I will post that here.

Thanks to all of you for your time and your support, I highly appreciate it.
Post Reply