avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Monday March 1, 2021, 11:08 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Vanav [ switch to compact view ]

Pages: [1]
Thank you,
[ ] Automatically generate comment/note for each capture
seems solve the issue.

What does "Do not save active win info in file comments" do? I can't find any difference in comments (i use "Grab selected region" and I don't see any coordinates in comments).

This text is saved in "tEXt" field (https://en.wikipedia...ics#Ancillary_chunks) in the beginning of PNG file. You can view it in hex editor or in XnView MP - file Properties - ExifTool tab - PNG - Description.

This is an important issue, because I can't send file screenshot to third parties - there can be window titles, logins, IP addresses and other unexpected data.

Currently, comments/notes of screenshot is saved in file properties. How to disable this?

To reproduce you should: 1) have Windows 10 or 8 x64, 2) install any x64 program from my list in first post.

mouser, please, check again this bug.

In short: FARR2 incorrectly thinks that some link destinations are in "C:\Program Files (x86)", and can't find icons. The correct path is "C:\Program Files". Can be reproduced on Windows 10 x64 and Windows 8 x64.

You have already fixed this bug in 2012, but since then there was a regression.

FARR Plugins and Aliases / Re: Alias: WolframAlpha Search
« on: May 03, 2018, 05:43 PM »
The problem should be fixed and both launching the url in external browser and internal browser with htmlviewurl should now work.
Bug is fixed, thank you!

FARR Plugins and Aliases / Re: Alias: WolframAlpha Search
« on: May 01, 2018, 12:22 PM »
If I create an alias:
it will not work correctly: for input "2+3" it will open inline browser with URL, that is not correct: "+" sign is lost because it is not escaped (click URL to check).

FARR Plugins and Aliases / Re: Alias: WolframAlpha Search
« on: May 01, 2018, 11:51 AM »
Maybe the + sign is being lost of encoded wrongly.  Can you see what it puts in the url where your + sign should be?
htmlviewurl$$u1 /ICON=icons\wolframalpha.ico
Input: "wa 2+3"
Target path:
I press Enter, got embed browser, right click, Properties, Address:

So, URL encoding is somehow lost if using embed browser.

Let me know if it's fixed.
Thank you, it is fixed now.

After updating to latest FARR version I see new popup windows:

[Window Title]
Web Browser:  Find and Run Robot

Sheetfiltepath: C:\Users\Ivan\Documents\DonationCoder\FindAndRunRobot\MyLocalData\userstylesheet.css


[Window Title]
Web Browser:  Find and Run Robot

Htmlstr to show is: <head><link rel="stylesheet" type="text/css" href="file://C:\Users\Ivan\Documents\DonationCoder\FindAndRunRobot\MyLocalData\userstylesheet.css">
</head><body><i>hello here</i></body>


How to reproduce:
1) Create plugin directory with fscript.dll of any version.
2) Create fscript.js based on FScriptSample with a call (full source):
FARR.setStrValue("launch", "showhtmlraw <i>hello here</i>");
3) Type "fscript".

There is no issue with "htmlviewurl" or "showfilehtml", also creating userstylesheet.css changes nothing. This popups are very annoying with plugins line CZB_pack.

How can I fix this?
Where can I download previous version of FARR as a temporary workaround?

FARR Plugins and Aliases / Re: Alias: WolframAlpha Search
« on: May 01, 2018, 08:22 AM »
Note, if you want the result from wolfram alpha to display directly in your farr window, and not open your browser to show it, you can easily do that by changing the alias result from:
WolframAlpha: $$1 |$$u1 /ICON=icons\wolframalpha.ico
WolframAlpha: $$1 | htmlviewurl$$u1 /ICON=icons\wolframalpha.ico
htmlviewurl and $$u1 seems doesn't work together, say, "+" sign is still lost. Is it a bug?

There was an old issue about missing icons, but now seems issue is back (maybe it was fixed only for Windows 7 that time?). I'll describe it again in short here, see old thread for more information.

Screenshot - 2015-06-22 17_23_10.png

Some links for 64-bit applications doesn't show icon on Windows 8. This issue only affects 64-bit applications on Windows 8. It doesn't appears on Windows 7 nor for 32-bit applications. Not all links are affected, but some of them. Options "Shortcut Lnk Resolution" changes nothing here. Only applications in "C:\Program Files" are affected, not in "C:\Program Files (x86)".

Known affected 64-bit applications:
- Opera Browser
- 3DMark
- TortoiseSVN, TortoiseMerge, TortoiseIDiff
- Everything
- 3DMark
- SecureFX, SecureCRT
- 7-Zip (old version, can't reproduce with new version)
- dupeGuru
- COMODO Internet Security (icon is correct, path is not correct)
- Far Manager 3 x64
- Intel® Rapid Storage Technology
- Microsoft Mathematics
- Intel Processor Diagnostic Tool,
- Oracle VM VirtualBox,
- FastCopy

Lets look inside "bad" lnk file:
lnk_parser_cmd.exe "C:\ProgramData\Start Menu\Programs\TortoiseSVN\TortoiseMerge.lnk"

Code: Text [Select]
  1. [Filename]:                             C:\ProgramData\Start Menu\Programs\TortoiseSVN\TortoiseMerge.lnk
  3. [Header]
  4. Date created:                           08/10/2014 (12:10:38.0) [UTC]
  5. Last accessed:                          08/23/2014 (15:25:37.234) [UTC]
  6. Last modified:                          08/10/2014 (12:10:38.0) [UTC]
  7. File size:                              2630400 bytes
  8. File attributes:                        0x00000020      (FILE_ATTRIBUTE_ARCHIVE)
  9. Icon index:                             0
  10. ShowWindow value:                       1               (SW_SHOWNORMAL / SW_NORMAL)
  11. Hot key value:                          0x0000          (None)
  12. Link flags:                             0x0000008f      (HasLinkTargetIDList, HasLinkInfo, HasName, HasRelativePath, IsUnicode)
  14. [Link Target ID List]
  15. CLSID:                                  20d04fe0-3aea-1069-a2d8-08002b30309d = My Computer
  17. Drive:                                  C:\
  19. Last modified:                          08/23/2014 (15:25:38.0) [UTC]
  20. Folder attributes:                      0x00000011      (FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_DIRECTORY)
  21. Short directory name:                   PROGRA~1
  22. Date created:                           08/22/2013 (13:36:16.0) [UTC]
  23. Last accessed:                          08/23/2014 (15:25:38.0) [UTC]
  24. Long directory name:                    Program Files
  25. Argument:                               @shell32.dll,-21781
  27. Last modified:                          08/23/2014 (15:25:38.0) [UTC]
  28. Folder attributes:                      0x00000010      (FILE_ATTRIBUTE_DIRECTORY)
  29. Short directory name:                   TORTOI~1
  30. Date created:                           08/23/2014 (15:25:38.0) [UTC]
  31. Last accessed:                          08/23/2014 (15:25:38.0) [UTC]
  32. Long directory name:                    TortoiseSVN
  34. Last modified:                          08/23/2014 (15:25:38.0) [UTC]
  35. Folder attributes:                      0x00000010      (FILE_ATTRIBUTE_DIRECTORY)
  36. Short directory name:                   bin
  37. Date created:                           08/23/2014 (15:25:38.0) [UTC]
  38. Last accessed:                          08/23/2014 (15:25:38.0) [UTC]
  39. Long directory name:                    bin
  41. File size:                              2630400 bytes
  42. Last modified:                          08/10/2014 (12:10:38.0) [UTC]
  43. File attributes:                        0x00000020      (FILE_ATTRIBUTE_ARCHIVE)
  44. 8.3 filename:                           TORTOI~3.EXE
  45. Date created:                           08/10/2014 (12:10:38.0) [UTC]
  46. Last accessed:                          08/23/2014 (15:25:38.0) [UTC]
  47. Long filename:                          TortoiseMerge.exe
  49. [Link Info]
  50. Location flags:                         0x00000001      (VolumeIDAndLocalBasePath)
  51. Drive type:                             3               (DRIVE_FIXED)
  52. Drive serial number:                    5238-03e0
  53. Volume label (ASCII):                   System SSD
  54. Local path (ASCII):                     C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
  56. [String Data]
  57. Comment (UNICODE):                      View Diff's, Merge Diff's, Resolve Conflicted Files and Apply Patches
  58. Relative path (UNICODE):                ..\..\..\..\..\..\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
  60. [Known Folder Location]
  61. Known folder GUID:                      905e63b6-c1bf-494e-b29c-65b732d3d21a = ProgramFiles
  62. First child segment offset:             185 bytes
  64. [Metadata Property Store]
  65. Property set GUID:                      46588ae2-4cbc-4338-bbfc-139326986dce
  66. ID:                                     4
  67. Value:                                  0x001f (VT_LPWSTR)      S-1-5-18
  69. [Special Folder Location]
  70. Special folder identifier:              38              (ProgramFiles)
  71. First child segment offset:             185 bytes
  73. [Distributed Link Tracker Properties]
  74. Version:                                0
  75. NetBIOS name:                           xx
  76. Droid volume identifier:                0318f7dc-7f30-4740-9e53-5ca4943e0b8d
  77. Droid file identifier:                  516e9cba-2ad9-11e4-82c8-ac220b4cafe0
  78. Birth droid volume identifier:          0318f7dc-7f30-4740-9e53-5ca4943e0b8d
  79. Birth droid file identifier:            516e9cba-2ad9-11e4-82c8-ac220b4cafe0
  80. MAC address:                            xx:xx:xx:xx:xx:xx
  81. UUID timestamp:                         08/23/2014 (15:22:39.43) [UTC]
  82. UUID sequence number:                   712

Target is "C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe". The issue is in this lines:

Code: Text [Select]
  1. ...
  2. [Known Folder Location]
  3. Known folder GUID:                      905e63b6-c1bf-494e-b29c-65b732d3d21a = ProgramFiles
  4. First child segment offset:             185 bytes
  5. ...
  6. [Special Folder Location]
  7. Special folder identifier:              38              (ProgramFiles)
  8. First child segment offset:             185 bytes
  9. ...

This means that link refers to a file in FOLDERID_ProgramFiles folder, this constant is {905e63b6-c1bf-494e-b29c-65b732d3d21a} or CSIDL_PROGRAM_FILES = 0x0026 (decimal: 38).

But this constant has a different meaning in 32-bit and 64-bit applications. If you resolve link from 64-bit application it will lead to "%SystemDrive%\Program Files", but if you resolve it from 32-bit application it will lead to "%SystemDrive%\Program Files (x86)".

That's why FARR (32-bit) searches icon in "C:\Program Files (x86)\TortoiseSVN\bin\TortoiseMerge.exe" - not existent path. So, technically this is an issue with incorrect links, but it is very common, and it will be perfect if we can make a workaround.

Thank you!

Updated instructions for Screenshot Captor v4 and fixed some minor bugs in script.

Custom icon is fixed and icon index is used now. But issue with a lot of broken icons of 64-bit applications with specified "known folder" is back. "Intel TurboBoost" is one more example of such application.

I've found a regression. This shortcut has incorrect icon:

[Filename]: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Cisco Systems VPN Client\VPN Client.lnk

Date created: Unknown
Last accessed: Unknown
Last modified: Unknown
File size: 0 bytes
File attributes: 0x00000000 (None)
Icon index: 1
ShowWindow value: 1 (SW_SHOWNORMAL / SW_NORMAL)
Hot key value: 0x0000 (None)
Link flags: 0x000050dd (HasLinkTargetIDList, HasName, HasRelativePath, HasWorkingDir, HasIconLocation, IsUnicode, HasDarwinID, HasExpIcon)

[Link Target ID List]
CLSID: 20d04fe0-3aea-1069-a2d8-08002b30309d = My Computer

Drive: C:\

Last modified: 10/10/2011 (11:55:02.0) [UTC]
Folder attributes: 0x00000010 (FILE_ATTRIBUTE_DIRECTORY)
Short directory name: Windows
Date created: 07/14/2009 (03:20:10.0) [UTC]
Last accessed: 10/10/2011 (11:55:02.0) [UTC]
Long directory name: Windows

Last modified: 10/10/2011 (11:56:24.0) [UTC]
Short directory name: INSTAL~1
Date created: 04/22/2010 (15:51:06.0) [UTC]
Last accessed: 10/10/2011 (11:56:24.0) [UTC]
Long directory name: Installer

Last modified: 10/05/2011 (19:04:46.0) [UTC]
Folder attributes: 0x00000010 (FILE_ATTRIBUTE_DIRECTORY)
Short directory name: {5FDC0~1
Date created: 10/05/2011 (19:04:46.0) [UTC]
Last accessed: 10/05/2011 (19:04:46.0) [UTC]
Long directory name: {5FDC06BF-3D3D-4367-8FFB-4FAFCB61972D}

File size: 5120 bytes
Last modified: 10/05/2011 (19:04:46.0) [UTC]
8.3 filename: ICON09~1.EXE
Date created: 10/05/2011 (19:04:46.0) [UTC]
Last accessed: 10/05/2011 (19:04:46.0) [UTC]
Long filename: Icon09DB8A85.exe

[String Data]
Comment (UNICODE): Cisco Systems Inc. VPN Client
Relative path (UNICODE): ..\..\..\..\..\..\Windows\Installer\{5FDC06BF-3D3D-4367-8FFB-4FAFCB61972D}\Icon09DB8A85.exe
Working Directory (UNICODE): C:\Program Files (x86)\Cisco Systems\VPN Client\
Icon location (UNICODE): C:\windows\Installer\{5FDC06BF-3D3D-4367-8FFB-4FAFCB61972D}\Icon09DB8A85.exe

[Darwin Properties]
Application identifier (ASCII): %sjmFMWHa9^'EEapvR`2Complete>[email protected])[email protected]}5](Qg_z
Application identifier (UNICODE): %sjmFMWHa9^'EEapvR`2Complete>[email protected])[email protected]}5](Qg_z

[Icon Location]
Icon location (ASCII): %SystemRoot%\Installer\{5FDC06BF-3D3D-4367-8FFB-4FAFCB61972D}\Icon09DB8A85.exe
Icon location (UNICODE): %SystemRoot%\Installer\{5FDC06BF-3D3D-4367-8FFB-4FAFCB61972D}\Icon09DB8A85.exe

Notice "Icon index" and "Icon location (UNICODE)".
You show icon with index 0 from Icon09DB8A85.exe, but you should show icon with index 1.
As far as I remember, previous version had no such bug.

Update. About issue https://www.donation....msg301518#msg301518
Seems you ignore icon of shortcut. I've make a shortcut and assigned standard icon to it (from shell32.dll), as most users will do. Here is shortcut properties:

[Filename]: C:\Users\Ivan\Desktop\WebServer Stop.lnk

Date created: 05/28/2012 (09:21:07.64) [UTC]
Last accessed: 05/28/2012 (09:21:07.64) [UTC]
Last modified: 05/28/2012 (09:27:34.758) [UTC]
File size: 47 bytes
File attributes: 0x00000020 (FILE_ATTRIBUTE_ARCHIVE)
Icon index: 27
ShowWindow value: 1 (SW_SHOWNORMAL / SW_NORMAL)
Hot key value: 0x0000 (None)
Link flags: 0x000800db (HasLinkTargetIDList, HasLinkInfo, HasRelativePath, HasWorkingDir, HasIconLocation, IsUnicode, EnableTargetMetadata)

[Link Target ID List]
CLSID: 20d04fe0-3aea-1069-a2d8-08002b30309d = My Computer

Drive: C:\

Folder attributes: 0x00000010 (FILE_ATTRIBUTE_DIRECTORY)
Short directory name: Utils
Long directory name: Utils

File size: 47 bytes
Last modified: 05/28/2012 (09:27:36.0) [UTC]
File attributes: 0x00000020 (FILE_ATTRIBUTE_ARCHIVE)
8.3 filename: WEBSER~2.BAT
Date created: 05/28/2012 (09:21:08.0) [UTC]
Last accessed: 05/28/2012 (09:21:08.0) [UTC]
Long filename: WebServerStop.bat

[Link Info]
Location flags: 0x00000001 (VolumeIDAndLocalBasePath)
Drive type: 3 (DRIVE_FIXED)
Drive serial number: 368f-2269
Volume label (ASCII): MainSDD
Local path (ASCII): C:\Utils\WebServerStop.bat

[String Data]
Relative path (UNICODE): ..\..\..\Utils\WebServerStop.bat
Working Directory (UNICODE): C:\Utils
Icon location (UNICODE): %SystemRoot%\system32\SHELL32.dll

[Metadata Property Store]
Property set GUID: b725f130-47ef-101a-a5f1-02608c9eebac
ID: System.ItemTypeText
Value: 0x001f (VT_LPWSTR) WebServerStop.bat
ID: System.ItemTypeText
Value: 0x001f (VT_LPWSTR) ???????? ???? Windows
ID: System.DateCreated
Value: 0x0040 (VT_FILETIME) 05/28/2012 (09:21:08.0) [UTC]
ID: System.Size
Value: 0x0015 (VT_UI8) 0x000000000000002f = 47
ID: System.DateModified
Value: 0x0040 (VT_FILETIME) 05/28/2012 (09:27:36.0) [UTC]

Property set GUID: dabd30ed-0043-4789-a7f8-d013a4736622
ID: System.ItemFolderPathDisplayNarrow
Value: 0x001f (VT_LPWSTR) Utils (C:)

Property set GUID: 28636aa6-953d-11d2-b5d6-00c04fd918d0
ID: System.ParsingPath
Value: 0x001f (VT_LPWSTR) C:\Utils\WebServerStop.bat

[Distributed Link Tracker Properties]
Version: 0
NetBIOS name: ivan-hp
Droid volume identifier: cce0ad80-af66-4a74-bb97-9a2afa1ba305
Droid file identifier: 77c006aa-a3d0-11e1-ae15-c35a2998b499
Birth droid volume identifier: cce0ad80-af66-4a74-bb97-9a2afa1ba305
Birth droid file identifier: 77c006aa-a3d0-11e1-ae15-c35a2998b499
MAC address: c3:5a:29:98:b4:99
UUID timestamp: 05/22/2012 (05:39:15.542) [UTC]
UUID sequence number: 11797

Notice "Icon index" and "Icon location (UNICODE)".

I'm sorry for a delay.

Issues with icons for shortcuts that incorrectly use "Special Folder" is fixed in v2.200.01.

Issues with shortcuts here:
- C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Games
- C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Maintenance
- C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories
are not fixed, but this gives no much trouble for me currently.

Thank you.

Applications with the same issue:
- 7-Zip
- COMODO Internet Security (icon is correct, path is not correct)
- Far Manager 2 x64
- Microsoft Mathematics
- TortoiseSVN
- All games here: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Games
Say, if I search for "minesweeper", icon is broken, and game even can't launch.
- All shortcuts here: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Maintenance
- Part of shortcuts here: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories

Let's take a closer look at .lnk contents of "bad" link using link parser [1] or [2]. Not relevant fields are excluded.

[Filename]: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SecureFX 7.1\SecureFX 7.1.lnk

Icon index: 0
ShowWindow value: 1 (SW_SHOWNORMAL / SW_NORMAL)
Hot key value: 0x0000 (None)
Link flags: 0x0000008b (HasLinkTargetIDList, HasLinkInfo, HasRelativePath, IsUnicode)

[Link Target ID List]
[Link Info]
Location flags: 0x00000001 (VolumeIDAndLocalBasePath)
Drive type: 3 (DRIVE_FIXED)
Drive serial number: 368f-2269
Volume label (ASCII): MainSDD
Local path (ASCII): C:\Program Files\VanDyke Software\Clients\SecureFX.exe

[String Data]
Relative path (UNICODE): ..\..\..\..\..\..\Program Files\VanDyke Software\Clients\SecureFX.exe

[Known Folder Location]
Known folder GUID: 905e63b6-c1bf-494e-b29c-65b732d3d21a = ProgramFiles
First child segment offset: 141 bytes

[Metadata Property Store]
Property set GUID: 46588ae2-4cbc-4338-bbfc-139326986dce
ID: 4
Value: 0x001f (VT_LPWSTR) S-1-5-18

[Special Folder Location]
Special folder identifier: 38 (ProgramFiles)
First child segment offset: 141 bytes

Special folder "ProgramFiles" is specified for link. But this variable has different meaning depending on 32- or 64-bit application [3]. On 64-bit OS in 64-bit application FOLDERID_ProgramFiles= %SystemDrive%\Program Files, but in 32-bit application FOLDERID_ProgramFiles = %SystemDrive%\Program Files (x86). That's why link resolves incorrectly in FARR and in any other 32-bit file explorer.

Need to remove KNOWNFOLDERID from shortcut to fix the link. (Also specifying "ProgramFilesX86" will make link correct for uncertain reason).

If you want to get correct icon and path, it is possible. You should ignore Special Folder section, and use just other Icon and Path sections. Here is example of minimal correct link to 64-bit application:

[Filename]: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Vovoid VSXu\VSXu Player.lnk

Date created: Unknown
Last accessed: Unknown
Last modified: Unknown
File size: 0 bytes
File attributes: 0x00000000 (None)
Icon index: 0
ShowWindow value: 1 (SW_SHOWNORMAL / SW_NORMAL)
Hot key value: 0x0000 (None)
Link flags: 0x00000099 (HasLinkTargetIDList, HasRelativePath, HasWorkingDir, IsUnicode)

[Link Target ID List]
CLSID: 20d04fe0-3aea-1069-a2d8-08002b30309d = My Computer

Drive: C:\

Folder attributes: 0x00000010 (FILE_ATTRIBUTE_DIRECTORY)
Short directory name: Program Files
Long directory name: Program Files

Folder attributes: 0x00000010 (FILE_ATTRIBUTE_DIRECTORY)
Short directory name: Vovoid VSXu
Long directory name: Vovoid VSXu

File size: 0 bytes
File attributes: 0x00000000 (None)
8.3 filename: vsxu_player.exe
Long filename: vsxu_player.exe

[String Data]
Relative path (UNICODE): ..\..\..\..\..\..\Program Files\Vovoid VSXu\vsxu_player.exe
Working Directory (UNICODE): C:\Program Files\Vovoid VSXu

[Metadata Property Store]
Property set GUID: 46588ae2-4cbc-4338-bbfc-139326986dce

You can use "Link Target ID" or "Relative path" to find path to executable, and use "Icon Location" and "Icon Index" section for icon. More about lnk file format is in PDF documents [4].

Shortcuts to games from Game Manager fail for different reason. But if you want to support games too, it is possible. Take a look in .lnk and find magic id "GFSI". Next 16 bytes is GUID of game in Game Explorer in little-endian form. Example:

0000000060: 0D 52 20 00 00 00 47 46 │ 53 49 C0 79 15 E9 A9 4E  ♪R    GFSIАy§й©N
0000000070: 2A 4A A9 B2 04 BE F1 D6 │ DC 29 00 00 00 00 00 00  *J©І♦ѕсЦЬ)

Hex is: C0 79 15 E9...
GUID is E91579C0-4EA9-4a2a-A9B2-04BEF1D6DC29
All details (path, icon, etc) can be found here:
More about this format is in lnk specification [5].

Game Manager is used not only for standard games, but also for third party games like StarCraft II Wings of Liberty™.lnk etc, that's why support of games shortcuts is important. Maybe there is some API to get link informations for games.

Some shortcuts in C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Maintenance or ...\Accessories don't work, because they link to files like %systemroot%\system32\recdisc.exe, but in 32-bit application %systemroot%\system32 is replaced by %systemroot%\SysWOW64, and target applications are not there. You can fix this at link resolving time.

[1] LNK Parser -
[2] Windows LNK Parsing Utility -
[3] KNOWNFOLDERID (bottom of page) http://msdn.microsof...57%28v=vs.85%29.aspx
[4] liblnk library and documentation -
[5] Windows Shell Item format -

Other used references:
- Quick overview of Lnk File Format and Ways of Information Extraction - https://www.evernote...663f/wishi/crazylazy
- LNK format -
- LNK Parsing: You’re doing it wrong (I, II) - , http://blog.0x010000...e-doing-it-wrong-ii/
- Evidentiary Value of Link Files | - http://www.forensicf...le-evidentiary-value

All this doesn't help. But seems I've found the issue.

If I take a look in hex contents of shortcut, it has this string: "..\..\..\..\..\..\Program Files\VanDyke Software\Clients\SecureCRT.exe". Author of shortcut decided not to hardcode drive letter, but walk to the root.

If I visit folder "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SecureCRT 7.1\" with 64-bit application (Explorer), short is resolved correctly.

If I visit the same folder with 32-bit application (say, Firefox - New Tab - Open File...), then shortcut is resolved incorrectly, and icon is missing.

So, seems system resolver is confused with such relative path, and substitutes "Program Files" depending on current environment, x86 or not. I don't know, it is a bug or a feature.

Update. Shortcut is attached. All this beauty is under Windows 7 x64.

1. Path is correct, but it is path to shortcut: "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SecureCRT 7.1\SecureCRT 7.1.lnk"
2. Icons for this applications for second row and below are still not correct with empty history.

So, path to shortcut is always correct. But path to application is sometimes incorrect. I think, this is the reason for missing icon.

If I check shortcut properties ("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SecureCRT 7.1\SecureCRT 7.1.lnk"), path is correct there.

I've tested v2.107.01, issue is still there. Here are screenshots. What is incorrect:
1) no icon of program, if program is in 2, 3, 4, 5 row. First row always have correct icon for this program.
2) incorrect path in "Properties..." of program.
I don't know why there is incorrect path.

Can someone help me with my bug - missing program icons for 64-bit programs? More information:


I run FARR v.2.105.01 under Windows 7 and I have issue with file path and icons (see attached screenshot).
SecureFX and SecureCRT are both installed in "C:\Program Files\...", but first icon is correct (SecureFX on screenshot), and second icon is incorrect (SecureCRT on screenshot).
"Shell Context Menu.. - Properties" shows correct path to .exe file for both applications, "Properties.." shows incorrect path: "C:\Program Files (x86)\..." for both applications. Shortcuts in start menu are correct. FARR can launch both applications correctly. Paths in status bar are correct.

So, the issue is that second icon is incorrect (it can be either SecureCRT or SecureFX, depending on what application was launched last), and path in "Properties.." is incorrect for both applications.
How can I debug this issue?

I've seen interesting issue and found a workaround. I'm posting here in case anyone will have this issue too.

I have Java application with exe launcher and splash screen (“PhpStorm.exe”, “idea.exe”). Recently it stopped launching with error:
The JVM could not be started. The maximum heap size (-Xmx) might be
too large or an antivirus or firewall tool could block the execution.
Error log of application:
Creating JVM
ERROR: could not initialize JVM
Hiding splash screen
Default options are (“PhpStorm.exe.vmoptions”):
FARR sometimes can launch application, and sometimes can not (error message). If I launch directly, it always works.

If I raise maximum heap size to 1200 MB (“-Xmx1200m”), FARR will never be able to launch application, but manual launch will still work.

This issue is explained here: "The JVM could not be started. The main method may have thrown an exception" error when starting idea.exe :: JetBrains Developer Community:
It happens because the native idea.exe executable built with the exe4j uses the splash screen which loads a dll (to decode the splash image) in the address space of the process. The jvm.dll loaded after the splash needs to allocate the heap memory in one chunk, however the dll loaded before the jvm.dll can fragment the address space (limited to 2GB for the 32-bit applications) too much and there will be no single chunk of free memory required for the JVM to initialize.

Depending on the other DLLs loaded, applications with DLL hooks and drivers installed on the system, IntelliJ IDEA may be not able to start even with relatively low heap size of 512m.
To make it work again with FARR you should uncheck (Program Options → Settings → Launching Files):
[ ] Use file launch helper utility

Alternative way - uncheck:
[ ] Always launch shortcuts directly instead of resolving links

You don't need to lower maximum heap size (-Xmx).
Seems that launch helper somehow changes memory allocation of child process and application can't launch.

I've unchecked “Use file launch helper utility” and all is working correct now (and I still can launch *.doc, Word 2010, etc).

Environment: Java 1.6.0_31, Windows 7 x64, FARR v2.105.01.

You have your own site and want to upload screenshots to it. This small article describes how to do it.

You will need:
– personal site or any hosting with SFTP or FTP access. For example: virtual private server with SSH or FTP access.
– install Cygwin (easy).

You will got: after you click "Upload image" in Screenshot Captor, image will be uploaded and URL will be copied to clipboard, e.g.
You can upload image in different ways:
- Main menu: SendToUpload image file with Uploader tool.
- Tray icon: Upload last image.
- New screenshot popup after capture: Send to...Upload image file with Uploader tool.
- Screenshot Captor floating toolbar: Select post-capture options and actions → [x] Upload screenshot.

Differences from ZUploader:
– ZUploader doesn't work for SFTP at all for me (as for v.5.5.0 r3030),
– random string is added to file name, so no one will be able to see your screenshots: you should give an exact link to it,
– screenshot is saved with single style of file naming: date_time_milliseconds_random.ext. This allows to order screenshots by date and resists to file name guessing.

I've tested three modes of upload (from most to less preferred):
1) upload using SFTP with public key,
2) upload using SFTP with password,
3) upload using FTP with password.
Some other upload protocols that are possible in "lftp" mode: FTPS, HTTP, HTTPS, HFTP, FISH, Torrent.

Steps for SFTP with public key

1. Run and install "openssh" in addition to base package. So you will have files "sftp.exe" and "date.exe" in folder "C:\Cygwin\bin".
2. Create SSH keys without password (press Enter twice) that will allow you to upload files:
> C:\Cygwin\bin\ssh-keygen -b 2048 -f automatic_access
Copy two new files to directory: "C:\Cygwin\home\UserName\.ssh\". As a result you should got two files: "C:\Cygwin\home\UserName\.ssh\automatic_access" and "".
3. Copy public key file "" to server to file "~/.ssh/authorized_keys"
4. Test your setup:
> C:\Cygwin\bin\sftp -i ~/.ssh/automatic_access [email protected]
"username" is your login to server, "" is your site domain.
You should got:
Connected to
Type "quit".

Example of server configuration:
– home directory of site: ~/ (e.g. /home/sites/
– public ssh key: ~/.ssh/authorized_keys
– some directory for screenshots: matches to path on server ~/data/screenshots/
So, if you put file to ~/data/screenshots/screenshot.png you will be able to see it here:

5. Update variables in upload.bat (file is below) to match your configuration:
set pathToCygwinBin=C:\Cygwin\bin
set urlPathPrefix=
set serverPathPrefix=/data/screenshots
set [email protected]
set uploadMode=sftp
set privateKey=~/.ssh/automatic_access

6. Main menu: EditPreferencesExternal Tools - Custom Uploader Tool: specify path to "upload.bat".
In same window: Online Uploading → (*) Use custom uploader.

Now command "Upload image" will upload screenshot to your site and will copy URL to it to clipboard.

Steps for SFTP with password

1. Run and install "lftp" in addition to base package. So you will have files "lftp.exe" and "date.exe" in folder "C:\Cygwin\bin".
2-4. Skip.
5. Update variables in upload.bat (file is below) to match your configuration:
set pathToCygwinBin=C:\Cygwin\bin
set urlPathPrefix=
set serverPathPrefix=/data/screenshots
set remoteServer=sftp://login:[email protected]
set uploadMode=lftp
(notice "uploadMode" variable is changed)

Steps for FTP with password

1. Run and install "lftp" in addition to base package. So you will have files "lftp.exe" and "date.exe" in folder "C:\Cygwin\bin".
2-4. Skip.
5. Update variables in "upload.bat" (file is below) to match your configuration:
set pathToCygwinBin=C:\Cygwin\bin
set urlPathPrefix=
set serverPathPrefix=/data/screenshots
set remoteServer=ftp://login:[email protected]
set uploadMode=lftp
(notice "uploadMode" variable is changed)

Code: Text [Select]
  1. @echo off
  3. rem Depends on Cygwin: date, sftp (openssh) or lftp
  5. set pathToCygwinBin=C:\Cygwin\bin
  6. set urlPathPrefix=
  7. set serverPathPrefix=/data/screenshots
  8. rem uploadMode=sftp for SFTP with public key or uploadMode=lftp in other cases.
  9. set uploadMode=sftp
  10. set privateKey=~/.ssh/automatic_access
  12. rem Don't warn about Windows path scheme.
  13. set CYGWIN=nodosfilewarning
  15. set source=%1
  17. if exist %source% (
  18.     rem file exists
  19. ) else (
  20.     echo Error: file %source% doesn't exist.
  21.     exit
  22. )
  24. rem Get full name of file.
  25. for /F "tokens=*" %%A in ('dir /L /B %source%') do set Variable=%%A
  26. rem Get file extension in lowercase.
  27. for %%i in ("%Variable%") do set sourceExt=%%~xi
  29. rem Generate random string.
  30. setlocal EnableDelayedExpansion
  31. set _RNDLength=8
  32. set _Alphanumeric=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
  33. set _Str=%_Alphanumeric%987654321
  34. :_LenLoop
  35. if not "%_Str:~18%"=="" set _Str=%_Str:~9%& set /A _Len+=9& goto :_LenLoop
  36. set _tmp=%_Str:~9,1%
  37. set /A _Len=_Len+_tmp
  38. set _count=0
  39. set _RndAlphaNum=
  40. :_loop
  41. set /a _count+=1
  42. set _RND=%Random%
  43. set /A _RND=_RND%%%_Len%
  44. set _RndAlphaNum=!_RndAlphaNum!!_Alphanumeric:~%_RND%,1!
  45. if !_count! lss %_RNDLength% goto _loop
  47. rem Get current time.
  48. for /F "tokens=*" %%A in ('%pathToCygwinBin%\date +%%Y%%m%%d_%%H%%M%%S_%%N') do set Variable=%%A
  49. set FileTime=%Variable:~0,19%
  51. rem Compose new file name.
  52. set NewName=%FileTime%_!_RndAlphaNum!!sourceExt!
  53. set destination="%serverPathPrefix%/!NewName!"
  55. set url=%urlPathPrefix%/!NewName!
  56. rem Copy to clipboard without new line and trailing space.
  57. <nul set /p any-variable-name="%url%"| clip
  58. echo Url %url% was copied to clipboard.
  60. rem Convert file path for Cygwin and add quotes.
  61. set source=%source:\=/%
  62. rem Remove existen quotes if any, and add quotes.
  63. set source="%source:"=%"
  64. rem Upload.
  65. if "%uploadMode%"=="sftp" (
  66.     echo put %source% %destination%| %pathToCygwinBin%\sftp -C -i %privateKey% %remoteServer%
  67. ) else (
  68.     echo put %source% -o %destination%| %pathToCygwinBin%\lftp %remoteServer%
  69. )
  70. rem pause

Pages: [1]