Как открыть рабочий стол? (vba, winapi, win7) по какому адресу он находится?
в идеале бы получить CLSID в реестре прописан "Desktop" ::{00021400-0000-0000-C000-000000000046}, но он никуда не ведёт "file:///C:/Users/Admin/Desktop" открывает папку с рабочим столом (на картинке слева) а нужно именно виндовый рабочий стол с уникальной иконкой (на картинке справа)
ниже: обычная папка - это та которая не нужна (если вручную идти в мои документы\рабочий стол) уникальная папка с синей иконкой - тот рабочий стол, который нужен - если тыкать на рабочий стол в боковом меню любой папки
1. если открыта "обычная" папка рабочий стол - то открывает всё равно новое окно с уникальной синей иконкой 2. если уже открыто хотя бы одно окно с уникальной иконкой - то активирует его 3. если открыто несколько окон с уникальной синей иконкой - то активирует самое раннее открытое 4. если не открыто ни одного окна с уникальной синей иконкой - то открывает новое нужное окно
таким образом - это лучше, чем всё, что у меня было до этого, т.к. первая команда которая умеет открывать рабочий стол с синей уникальной иконкой и всё ещё - эта команда не может открыть 3 отдельных окна. есть такая же команда, только с принудительным открытием нового окна?
да, Shell.Explore помогла только если открыт рабочий стол через InvokeVerbEx, то Shell.Explore уже не откроет новое, а просто активирует.
1. если вручную открыто 3 рабочих стола, потом InvokeVerbEx откроет 4-ое окно (игнорируя ранее открытые), и Explore активирует это 4-ое окно 2. если вручную открыто 3 рабочих стола, и сразу Explore, то открываются новые окна таким образом - у окна, открытого InvokeVerbEx , некий особый статус