New
#11
Double posted by mistake
Last edited by WilliamDrt; 08 Oct 2019 at 04:37. Reason: Double posted by mistake
Double posted by mistake
Last edited by WilliamDrt; 08 Oct 2019 at 04:37. Reason: Double posted by mistake
It turns out that pretty much all Shell API based file managers only have partial long path support. Half of the API is there. You can see the folder, move it copy it delete it, but you canot create or rename
"For example these sorts of files only get displayed in 8.3 format in Windows"
Is this drive NTFS ???
- - - Updated - - -
I have TC too, it is great, nevertheless none of the paths in these screenshots are long file paths. Everything is well under MAX_PATH. Just by eyeballing it, the longest path there should be around 130 chars
- - - Updated - - -
This is a 600+ chars path
C:\Users\UserTest\Desktop\Files\Why didn't Linux or Mac face these compatibility problems Why can't the non-Unicode Win32 file API be extended\ (with some conditions in the existing IO handling functions) to be able to use e.g. MAX_PATH2 = 4096 (or clever dynamic allocation)\The old software will then only use the legacy part of the implementation. But the new software especially Microsoft products (including cmd, explorer, powershell, VS)\should make use of the new features. The OS should shadow all this technical-history Simply use devpathfile.ext and me the OS will decide whats the best choice
A more clear view
C:\
Users\
UserTest\
Desktop\
Files\
Why didn't Linux or Mac face these compatibility problems Why can't the non-Unicode Win32 file API be extended\
(with some conditions in the existing IO handling functions) to be able to use e.g. MAX_PATH2 = 4096 (or clever dynamic allocation)\
The old software will then only use the legacy part of the implementation. But the new software especially Microsoft products (including cmd, explorer, powershell, VS)\
should make use of the new features. The OS should shadow all this technical-history Simply use devpathfile.ext and me the OS will decide whats the best choice
You can move - copy - delete, anything that you can do with "normal paths", but not create, rename. Only part of the API is compatible. it needs further investigation
Under the Hood:
These are the file management functions that no longer have MAX_PATH restrictions if you opt-in to long path behavior: CopyFileW, CopyFile2, CopyFileExW, CreateFileW, CreateFile2, CreateHardLinkW, CreateSymbolicLinkW, DeleteFileW, FindFirstFileW, FindFirstFileExW, FindNextFileW, GetFileAttributesW, GetFileAttributesExW, SetFileAttributesW, GetFullPathNameW, GetLongPathNameW, MoveFileW, MoveFileExW, MoveFileWithProgressW, ReplaceFileW, SearchPathW, FindFirstFileNameW, FindNextFileNameW, FindFirstStreamW, FindNextStreamW, GetCompressedFileSizeW, GetFinalPathNameByHandleW.
Enumerating uses FindFirstFileW-FindNextFileW so there is no question why it is able to see the long path
But CreateFileW is also there. Does the API uses something else?
I 'll have to opt in, and investigate further
Last edited by WilliamDrt; 08 Oct 2019 at 04:49.
I know it's beta but not being able to zoom images and not able to open any file by double clicking should be basic thing
1. Program opens files just fine, please elaborate
2. zoom images?? Are you talking about Thumbnail view ?? Are you on a monitor with more than 100% DPI???
there is a bug in breadcrumb control in more than 100% dpi that covers the slider for manipulating thumb size. Is that what you re talking about???? This is trivial It will be fixed in next version. I am not pushing new version yet because I am fixing long file paths, I am on good way, Pls read on
Please elaborate on "not able to open any file by double clicking". I 've been using that for months
- - - Updated - - -
Update:
I was able to make new folder inside that monster path. I am confident that renaming can be done also. Move, copy delete already works.
The problem is how to match it with current code base. I could do a special command like "Create long path". but that's not nice. I need to find a way to make long path handling "invisible" for user. That will take some days. I think I must fix breadcrumb control first and then deal with this
![]()