Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать handle окна explorer'a?


zip0 ©   (2006-08-21 20:14:00) 

Подскажите, если прога запускается из explorer'a, то как проще всего узнать handle окна из которого она была запущена?


IceBeerg   (2006-08-22 16:58:00) [1]

2 Zeqfreed ©   (22.08.06 16:52) [10]

> А если открыть 10 окон, а запустить из первого? :)

Да, это так, но если прога пишется для защиты чайников от ламеров(как сказал автор) то может и прокатить :)


Zeqfreed   (2006-08-22 16:52:00) [2]

> [9] IceBeerg ©   (22.08.06 16:46)

А если открыть 10 окон, а запустить из первого? :)
На самом деле был какой-то интерфейс, которые отвечает именно за открытые окна проводника, там должны быть нужные методы. Только не помню я как он называется.


IceBeerg   (2006-08-22 16:46:00) [3]

Как вариант перебрать все окна explorer'a и управлять окном с наибольшем Handle'ом или PID'ом, но иногда максимальный Handle или PID не будут соответствовать последнему открытому окну explorer'а...


zip0   (2006-08-22 00:37:00) [4]

Англицкий я как-нибудь пойму, а вот насчет Си на М$ДНе... ну ладно мож гугл что и подскажет...


Ketmar   (2006-08-22 00:22:00) [5]

> [6] zip0   (22.08.06 00:18)
дык, в интернете. в MSDN, например. отмаз типа "я английского не знаю, с Сями вовсе не дружу" не принимается. %-)


zip0   (2006-08-22 00:18:00) [6]


>Ketmar
> пространство имён проводника

это конечно круто, если в этом разбираться...

Может подскажешь где добыть примеры, хотя бы отдаленно, подходящие для моего случая?


Ketmar   (2006-08-21 23:43:00) [7]

> [4] zip0   (21.08.06 23:41)
не нужен тебе хэндл окна. а нужно тебе про пространсто имён проводника поинтересоваться и про способы его расширения. такм образом, например, сделано представление zip-архивов как папок в WinXP.


zip0   (2006-08-21 23:41:00) [8]


> а зачем? а если юзер делает "пуск->выполнить", то что тогда
> узнавать? а если он вообще из FAR'а? или иконкой с рабочего
> стола?
> так что сначала -- "а зачем". и откуда такая уверенность
> именно в этом способе запуска.


Попросили меня друзья написать, прогу для защиты чайников от ламеров. :)
Теория: Екс'ешник будет лежать, допустим в папке My Docs, после запуска спрашивать пороль, и, если он верен, открывать "Жутко секретную папку" (C:\Recycled\blablabla\). Т.е. получается этакий "Advanched Shortcut". Главное требование, чтобы это дело выглядело "как обычная папка" т.е имело соотв. иконку (расширения на том компе скрыты). Ну а "обычные папки" имеют привычку открываться в том же окне. Вот для этого мне хендл окна и нужен. Для людей же, блин, стараюсь...


Ketmar   (2006-08-21 22:30:00) [9]

> [2] zip0   (21.08.06 22:26)
а зачем? а если юзер делает "пуск->выполнить", то что тогда узнавать? а если он вообще из FAR'а? или иконкой с рабочего стола?
так что сначала -- "а зачем". и откуда такая уверенность именно в этом способе запуска.


zip0   (2006-08-21 22:26:00) [10]

:)
Сорри, попытаюсь объяснить:
Например ехешник лежит в папке C:\proga
Юзер заходит в MyCompuer -> Disk (C:) -> [proga] -> proga.exe
Так вот, как проге узнать handle окна explorer открытого на C:\proga ?


Leonid Troyanovsky   (2006-08-21 20:37:00) [11]


> zip0   (21.08.06 20:14)  

> Подскажите, если прога запускается из explorer'a, то как
> проще всего узнать handle окна из которого она была запущена?


Из окон, AFAIK, несознательные граждане запускают пустые бутылки.
Извольте-с изъясняться точней.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо