diff --git a/quick-picture-viewer/forms/MainForm.cs b/quick-picture-viewer/forms/MainForm.cs index f19f6be..05e5975 100644 --- a/quick-picture-viewer/forms/MainForm.cs +++ b/quick-picture-viewer/forms/MainForm.cs @@ -9,6 +9,7 @@ using System.Globalization; using System.IO; using System.Linq; +using System.Runtime.InteropServices; using System.Timers; using System.Windows.Forms; @@ -38,6 +39,9 @@ public partial class MainForm : Form public SelectionForm selForm = null; private EditSelForm editSelForm = null; + [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] + private static extern int StrCmpLogicalW(string x, string y); + private string currentFolder; private string recursiveFolder; private string currentFile; @@ -1261,6 +1265,7 @@ private string[] GetCurrentFiles() if (exts.Contains(ext)) arlist.Add(allFiles[i]); } } + arlist.Sort((a, b) => StrCmpLogicalW(Path.GetFileName(a), Path.GetFileName(b))); return arlist.ToArray(); }