******please backup the registry before attempting any changes
try this
Shortcut Arrows Registry locations
HKEY_CLASSES_ROOT\lnkfile\IsShortcut
HKEY_CLASSES_ROOT\piffile\IsShortcut
Delete these values if you want to remove the arrow that appears on all shortcuts
to make them appear
check that these values are actually there if not write them into the registry
or this
Right-click the Desktop, choose Properties
Click the Appearance Tab.
Click Advanced button
Choose Icon from the drop-down list
Set it's size to 32 (default size) and click OK, OK.
or this
Perform the registry change as described below to modify the arrow used on shortcuts
1. Start the registry editor (regedt32 or regedit.exe)
2. Move to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons
3. Double click on 29 " shell32.dll,29 is a small arrow"
4. Change to the name of the icon, icon number, e.g. "shell32.dll,30" is a big arrow
5. Close OK
6. Close the registry editor
The above change would then take effect at next logon.
To avoid the logoff you could modify an icon related entry, make the screen repaint by changing the background and set back, e.g. HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\Shell Icon Size.
If the Shell Icons\29 value does not exist then you will need to create the Shell Icons branch and then create the 29 value of type String, told you that your hands would get dirty
A better way is to use TweakUI to perform the above arrow change.