Как узнать пути всех открытых окон эксплорера

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Как узнать пути всех открытых окон эксплорера

Сообщение Tin » 27.07.2005 (Ср) 13:53

САБЖ
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 13:57

EnumWindows, потом выбираешь только окна проводника (GetWindowModuleFileName)...
А я все практикую лечение травами...

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 27.07.2005 (Ср) 14:01

а подробнее ни у кого инфы нету - я уже погряз в этих Enum :(
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 14:10

Тебе просто заголовки?
Код: Выделить всё
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Const WM_CLOSE = &H10
Dim strCaptions() As String
Dim lngHandle() As Long
Public Function CloseProg(strCaption As String) As Boolean
   Dim iCount As Integer
   Dim i As Integer
   Dim Pos As Integer
   Dim lngEnum As Long

   ReDim strCaptions(0)
   ReDim lngHandle(0)
   lngEnum = EnumWindows(AddressOf Callback1_EnumWindows, 0)
   For i = 0 To UBound(strCaptions)
    Pos = InStr(1, strCaptions(i), strCaption, vbTextCompare)
    If Pos > 0 Then
        SendMessage lngHandle(i), WM_CLOSE, 0, 0
        iCount = iCount + 1
    End If
   Next
   If iCount >= 1 Then
      CloseProg = True '
   Else
      CloseProg = False
   End If
End Function
Public Function Callback1_EnumWindows(ByVal hwnd As Long, _
     ByVal lpData As Long) As Long
   Dim cnt As Long
   Dim rttitle As String * 256
   cnt = GetWindowText(hwnd, rttitle, 255)
   If cnt > 0 Then
    ReDim Preserve lngHandle(UBound(strCaptions) + 1)
    ReDim Preserve strCaptions(UBound(strCaptions) + 1)
    strCaptions(UBound(strCaptions)) = Left$(rttitle, cnt)
    lngHandle(UBound(lngHandle)) = hwnd
   End If
   Callback1_EnumWindows = 1
End Function

этот модуль находит все окна, в заголовках которого есть нужный текст и должен убивать их (это лишь кусок модуля). Переделай его...
А я все практикую лечение травами...

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 27.07.2005 (Ср) 14:29

Мне не нужны заголовки - мне нужны пути :(
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 14:38

Какие пути? Всмысле путь к папке, которая открыта в проводнике?
Если у тя стоит "отображать полный путь в заголовке", то с этим все просто. А если нет, то я не знаю... :oops:
А я все практикую лечение травами...

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 27.07.2005 (Ср) 14:50

Пути у эксплорера стоят у кого как, поэтому надо искать другой путь решения
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 14:58

Правильный рецепт я уже не помню, хотя помню, что встречал в инете.
Можно поискать в найденном окне комбобокс и взять текст с него. Он там есть всегда, даже если и скрытый (невидимый).
Lasciate ogni speranza, voi ch'entrate.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 15:02

Пути у эксплорера стоят у кого как

GetSystemDirectory
А я все практикую лечение травами...

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 27.07.2005 (Ср) 15:04

Слух Макс, ты С Алматы чтоли? Земляк :)
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 15:07

Ты токо заметил? Да, мы земляки...
У тя Mail.ru агент установлен?
А я все практикую лечение травами...

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 27.07.2005 (Ср) 15:09

не... у меня свой эджент... пиши сюда ТИНсобачкаKorgauточкаkz
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 27.07.2005 (Ср) 16:17

ShellWindows - получаем список окон проводника и потом вытаскиваем урлу, есть тонкости....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 16:25

ShellWindows

Шо це тэке?
А я все практикую лечение травами...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 27.07.2005 (Ср) 17:42

класс в shdocvw.dll (Microsoft Internet Controls)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 27.07.2005 (Ср) 18:26

а подробнее :twisted:
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 28.07.2005 (Чт) 9:13

VB6-MainMenu-Project-References
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 28.07.2005 (Чт) 14:28

Всё! Разобрался... Улькен рахмет... ТОка ещё shell32 конектить надо
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 43

    TopList