Лучше использовать код teadrinker, только заменив горячую кнопку на двойное нажатие.
~LButton::
If (A_TimeSincePriorHotkey<400) and (A_ThisHotkey=A_PriorHotkey)
{
SetBatchLines, -1
WinGet, ID,, A
WinGetClass, Class, A
if !(Class ~= "(Cabinet|Explore)WClass")
Return
oShell := ComObjCreate("Shell.Application")
Loop
{
oIE := oShell.Windows.Item(A_Index - 1)
Sleep, 10
} Until oIE.HWND = ID ; получаем объект InternetExplorer для активного окна
oShellFolderView := oIE.Document
oFolder := oShellFolderView.Folder
if !(oFolder.Self.IsFileSystem) ; если родительская папка не является частью файловой системы
{
MsgBox, % "Папка """ oFolder.Self.Name """ не является частью файловой системы`
,`nсоздание новой папки в ней невозможно!"
oShell := oIE := oShellFolderView := oFolder := ""
Return
}
Loop ; определяем имя новой папки в зависимости
{ ; от существования других объектов с названием "Новая папка (i)"
Sleep, 10
FolderName := "Новая папка" . (A_Index = 1 ? "" : " (" . A_Index . ")")
} Until !IsObject(oFolder.ParseName(FolderName))
Count := oFolder.Items.Count ; перед созданием новой папки определяем количество видимых объектов
oFolder.NewFolder(FolderName) ; создаём новую папку
While (Count = oFolder.Items.Count) ; ждём, пока новая папка не станет видимой
Sleep, 50 ; и общее количество объектов не изменится
oShellFolderView.SelectItem(oFolder.ParseName(FolderName), 1|3|4|8)
oShell := oIE := oShellFolderView := oFolder := "" ; удаляем объекты из памяти
Return
}