- ドラッグ&ドロップ関連を調整
IDropTargetのオーバーライドのタイミングを少し後ろにずらした。高DPIスケールの動作を上書きを設定しないとドラッグ&ドロップできない問題を対策しました。 - Windows11でダークモード時のクラシックスタイルがうまく効かない問題を対策 #871
ただしダークモード時のクラシックスタイル時にスクロールバーがライトモードになってしまう - 近い将来VBScriptがWindowsから削除され、それに伴って
Scripting.FileSystemObjectが使えなくなる可能性があります。それまでにScripting.FileSystemObjectを使わないようにしたり、代替の互換オブジェクトを用意していく予定です。
とりあえず、Tablacus Explorer本体のScripting.FileSystemObjectを使わない方法に置き換えました。これでしばらくプレリリース版で様子をみてみます。
| Scripting.FileSystemObject | 置き換え | 置き換え2 |
|---|---|---|
| fso.BuildPath(path, name) | PathBuildPath(path, name) | |
| fso.GetDriveName(path) | GetDriveName(path) | |
| fso.GetParentFolderName(path) | PathGetParentFolderName(path) | |
| fso.GetBaseName(path) | GetBaseName(path) | |
| fso.GetFileName(path) | GetFileName(path) | |
| fso.GetExtensionName(path) | GetExtensionName(path) | |
| fso.CreateFolder(path) | api.CreateDirectory(path) | |
| fso.FileExists(path) | api.PathFileExists(path) && !api.PathIsDirectory(path) | |
| fso.FolderExists(path) | api.PathIsDirectory(path) | |
| fso.GetFileVersion(path) | api.GetFileVersionInfo(path) | |
| fso.GetSpecialFolder(0).Path | api.GetDisplayNameOf(ssfWINDOWS, SHGDN_FORPARSING) | GetWindowsPath() |
| fso.GetSpecialFolder(1).Path | system32 | |
| fso.GetSpecialFolder(2).Path | wsh.ExpandEnvironmentStrings("%TEMP%") | GetTempPath(0) |
| fso.GetFile(path).Attributes = attr | api.SetFileAttributes(path, attr) | |
| fso.GetFolder(path).Attributes = attr | api.SetFileAttributes(path, attr) | |
| fso.DeleteFile(path) | api.DeleteFile(path) | api.SHFileOperation(FO_DELETE, path, null, FOF_SILENT | FOF_NOCONFIRMATION, false) |
| fso.MoveFile(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
| fso.MoveFolder(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
| fso.MoveFile(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
| fso.MoveFolder(src, dest) | api.MoveFileEx(path,src, dest, MOVEFILE_COPY_ALLOWED) | api.SHFileOperation(FO_MOVE, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
| fso.CopyFile(src, dest) | api.CopyFile(path,src, dest, true) | api.SHFileOperation(FO_COPY, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
| fso.CopyFolder(src, dest) | api.SHFileOperation(FO_COPY, src, dest, FOF_SILENT | FOF_NOCONFIRMATION, false) |
fso.DrivesはWMIのWin32_LogicalDiskを使って置き換えました。
fso.CreateTextFileはAdodb.Streamを使って置き換えました。
fso.GetFolder(...).SubFoldersはapi.FindFirstFileとapi.FindNextFileを使って置き換えました。
vbscript.dllが削除されている場合、VBScriptのInputBoxはPowerShellのMicrosoft.VisualBasicのInputBox`を使って置き換えます。
表示やドラッグ&ドロップがおかしい場合
https://wooty.hatenadiary.org/entry/2025/02/03/233544
これでもダメな場合のとりあえずの回避策
Tablacus Explorerを閉じてから フォルダlibにあるtewv32.dllとtewv64.dllを削除してみて下さい。
- In the near future, VBScript will be removed from Windows, and along with that,
Scripting.FileSystemObjectmay become unavailable. Before that happens, we plan to stop usingScripting.FileSystemObjectand prepare a compatible alternative. - If the Blink version doesn't work
Delete WebView2's dll
As a temporary workaround, close Tablacus Explorer again, delete tewv32.dll and tewv64.dll from the lib folder, and then try launching the application once more.