Language: Русский English

Copy FileName to Clipboard - Shell extension v.1.0.2.1 (2016.02.24)

«Copy FileName to Clipboard - Shell extension» - integrated into the Explorer context menu, and adds the «Copy filename…».

Many similar programs, but they either do not work in windose 64-bit, or do not have my desired set of options, or have a bug with Unicode -> ANSI.

Search tired, and I created an extension to Explorer, in versions for 32-bit Windows (CopyFileNameExt32.dll) and 64-bit Windows (CopyFileNameExt64.dll).

Screenshot (Windows XP)

Allows you to copy to the clipboard, the names of selected files in the following ways:
- filename.ext - full name (with extension);
- "filename.ext" - the same thing but in quotes (actual name if a long or spaces);
- filename - name without extension;
- C:\Program Files\filename.ext - full path and full name with the extension;
- "C:\Program Files\filename.ext" - the same thing but in quotes;
- "C:\\Program Files\\filename.ext" - additionally double backslashes;
- C:\PROGRA~1\FILENA~1.EXT - path and file name in 8.3 format (remember that in today's Windows, it is only a local temporary name on another computer, or just after a while the same file can get quite a different room in a short name, or even use the names of 8.3 can be disabled via fsutil. exe);

Please note, this program works in Windows Explorer's address space, so any bugs (statistically this can not be excluded) - Explorer (and with it the desktop, taskbar, system tray) will crashed (probably with the loss of any data). This program is distributed «as is». No warranty of any kind is expressed or implied. You use this program at your own risk. The author is not liable for data loss, damages, loss of profits or any other kind of loss while using or misusing this software. If you do not agree with this - you should not use this program.

If you select multiple files - the names of the files will be copied into a multiline text (delimited with CR, LF).

Implemented inspection found the letters. The icon in front of the line indicates the possible problems and limitations of this name:
- 7b - 7bit - it contains only 7-bit characters ASCII (ie, only the English letters - the most hassle-free);
- 8b - 8bit - line contains an 8-bit characters (national alphabet), but all the characters are encountered in both the ANSI-table and the table in the OEM-installed by default for neyunikodnyh programs. On this computer with the same name will not be problems, but on computers with different localization of the national problems will be (if not used at all stages of Unicode);
- A - ANSI - line contains 8-bit extended characters that are found in the current table ANSI, but is not found in the table OEM. For example, for the standard USA localization where ANSI=CP1252 and OEM=CP437 - it will be under the symbol «©», or «™». This line is problematic to use CMD-files and console applications. Well, on computers at other sites - also;
- O - OEM - line contains 8-bit extended characters that are found in the current table OEM, but are not found in the table ANSI. For example, for the standard USA localization where ANSI=CP1252 and OEM=CP437 is will be at a char «≈» or pseudographics. This line is problematic to use GUI-programs. Well, on computers at other sites - also;
- U - Unicode - string contains characters that are not found in the current 8-bit tables, ANSI and OEM. This line can only be used in Unicode.

The program always copies the text to the clipboard as Unicode (CF_UNICODETEXT), and for its correct insertion in the programs do not support Unicode - Clipboard identifier assigned to the value CF_LOCALE SUBLANG_SYS_DEFAULT (it corresponds to the set in the settings of the Windows Control Panel language for neyunikodnyh programs). Thus there is no problem with the choice of mode of ANSI or Unicode - the text will always be properly inserted (by the way, unlike the full-copy the file name in Windows 7, which is a problem).

System Requirements: Assumed efficiency for all 32-bit and 64-bit versions of Windows XP SP3, Windows 2003, Windows Vista, Windows 7, Windows 2008, Windows 8, Windows 8.1, Windows 2012, Windows 10.

Viruses in the program can not (for the correct CopyFileName.exe v1.0.2.1 MD5:845667ed27ca6b864a6f343ca635f437). Many antivirus programs falsely triggered by the installer, but each developer to write antivirus unproductive. For the paranoid - only DLL-files (anti-virus software on them do not work), you can install them manually without installer.


History of development program:
v.1.0.2.1 (2016.02.24)Fixed logic autoselect language - a language now depends on the selected control panel - regional options - standards and formats.
v.1.0.2.0 (2016.02.18)Minor improvements in the installer (manifest for Windows 10);
v.1.0.1.6 (2013.12.12)Fixed a bug causing crashes Explorer on some 64-bit systems when copying 8.3-names, installer is packed in UPX;
v.1.0.1.5 (2013.10.15)Fixed a bug causing crashes Explorer on some 64-bit systems, small improvements installer;
v.1.0.1.2 (2012.08.03)The installer no longer packed in UPX (some antivirus programs falsely detected), the DLL is nothing new;
v.1.0.1.1 (2012.01.25)Small improvements installer (RTF-reference with pictures embedded, etc.), the DLL is nothing new;
v.1.0.1.0 (2012.01.06)Now in win64 registered and 32-bit DLL, to work in Explorer running from 32-bit programs. Added support for Windows 8;
v.1.0.0.3 (2011.11.30)Fixed bug causing some computers to crashes Explorer (conflict with other extensions that do not handle failure of IUnknown::QueryInterface - not E_NOINTERFACE and by a NULL in ppvObject);
v.1.0.0.2 (2011.11.23)Fixed a bug with the suppression of some of the other shell extensions when calling on the .lnk-files (fixed - IContextMenu::InvokeCommand now check CMIC_MASK_NOASYNC);
v.1.0.0.1 (2011.01.06)Fixed a bug with the suppression of some other shell extensions (in particular - a means of removing file properties ceased to operate, fixed - IContextMenu::QueryContextMenu now check CMF_OPTIMIZEFORINVOKE);
v.1.0.0.0 (2010.12.31)First public version.

Program can be installed without the installer:
If Windows 32bit verison - copy file CopyFileNameExt32.dll to folder C:\Windows\System32\, and then to execute the command «RegSvr32 CopyFileNameExt32.dll».
If Windows 64bit verison - copy file CopyFileNameExt64.dll to folder C:\Windows\System32\, and then to execute the command «RegSvr32 CopyFileNameExt64.dll». Additionally you can copy CopyFileNameExt32.dll to C:\Windows\SysWOW64\ and execute «C:\Windows\SysWOW64\RegSvr32 CopyFileNameExt32.dll» - it will use up the path in Explorer launched in other programs.
Removal:
If Windows 32bit verison - unregistering DLL the execute command «RegSvr32 /u CopyFileNameExt32.dll».
If Windows 64bit verison - unregistering DLL the execute commands «RegSvr32 /u CopyFileNameExt32.dll» and «C:\Windows\SysWOW64\RegSvr32 /u CopyFileNameExt32.dll».
DLL-file remains locked before computer reboot (or process restarting explorer.exe), then it can be deleted.

To install or remove the need to admin rights, and lack of rights - the error will be 0x80070005 (E_ACCESSDENIED).

Created registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CopyFileNameExtension
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\{E8270C6C-B18E-4ED9-AA33-C1377785D8F1}
HKEY_LOCAL_MACHINE\Wow6432Node\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\{E8270C6C-B18E-4ED9-AA33-C1377785D8F1}
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\CopyFileNameExtension
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\CopyFileNameExtension
HKEY_CLASSES_ROOT\CLSID\{E8270C6C-B18E-4ED9-AA33-C1377785D8F1}
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{E8270C6C-B18E-4ED9-AA33-C1377785D8F1}
HKEY_CLASSES_ROOT\CopyFileNameExtension
HKEY_CLASSES_ROOT\CopyFileNameExtension.1