
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.81] |
![]() |
|
Страницы: (3) [1] 2 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Доброго времени суток! Допустим, у меня открыто сразу 3 папки. Каким образом я могу узнать пути, которые в них открыты, чтобы потом их открыть заново. Задача такая, запомнить все открытые директории, а после перезагрузки компьютера восстановить их. Помогите, пожалуйста, как это можно осуществить!
|
Сообщ.
#3
,
|
|
|
DIS, спасибо конечно, но мне нужно это программно на vb6 осуществить
|
Сообщ.
#4
,
|
|
|
Какие API-функции нужно использовать?
|
![]() |
Сообщ.
#5
,
|
|
EnumWindows/GetWindowText/ShellExecute, видимо
|
Сообщ.
#6
,
|
|
|
B.V., спасибо, попробую
|
Сообщ.
#7
,
|
|
|
Подскажите, пожалуйста, в чём ошибка? В переменной hndExpl - нуль. Установен Windows7
![]() ![]() 'Функция для поиска окна первого уровня Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 'Функция для поиска дочернего окна (коим являются такие контролы: Edit, Button и т.д.) Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long Private Const WM_GETTEXTLENGTH = &HE Private Const WM_GETTEXT = &HD Sub МакросПроба() Dim hndExpl As Long, hndComb As Long, hndComb2 As Long, hndComb3 As Long, hndComb4 As Long, hndComb5 As Long Dim s As String, iTxtLen As Long, a As Long 'Ищем hWnd Проводника по его классу hndExpl = FindWindow("ExploreWClass", vbNullString) 'Ищем hWnd ComboBox, который содержит адрес, продираясь через его родителей hndComb = FindWindowEx(hndExpl, 0, "WorkerA", vbNullString) hndComb2 = FindWindowEx(hndComb, 0, "ReBarWindow32", vbNullString) hndComb3 = FindWindowEx(hndComb2, 0, "ComboBoxEx32", vbNullString) ' получаем длину текста iTxtLen = SendMessage(hndComb3, WM_GETTEXTLENGTH, 0, 0) ' добавляем 1 для нулевого символа iTxtLen = iTxtLen + 1 s = Space$(iTxtLen) ' получаем текст в переменной s iTxtLen = SendMessage(hndComb3, WM_GETTEXT, iTxtLen, ByVal s) MsgBox s End Sub |
![]() |
Сообщ.
#8
,
|
|
Вместе с Explore ищи CabinetWClass
|
Сообщ.
#9
,
|
|
|
B.V., не понял, как именно?
![]() ![]() hndExpl = FindWindow("ExploreCabinetWClass", vbNullString) Добавлено так не работает |
Сообщ.
#10
,
|
|
|
![]() ![]() hndExpl = FindWindow("CabinetWClass", vbNullString) |
Сообщ.
#11
,
|
|
|
Filka, написал, теперь hndComb равно нулю! Каков принцип, вообще?
![]() ![]() Dim hndExpl As Long, hndComb As Long, hndComb2 As Long, hndComb3 As Long, hndComb4 As Long, hndComb5 As Long Dim s As String, iTxtLen As Long, a As Long 'Ищем hWnd Проводника по его классу hndExpl = FindWindow("CabinetWClass", vbNullString) 'Ищем hWnd ComboBox, который содержит адрес, продираясь через его родителей hndComb = FindWindowEx(hndExpl, 0, "WorkerA", vbNullString) hndComb2 = FindWindowEx(hndComb, 0, "ReBarWindow32", vbNullString) hndComb3 = FindWindowEx(hndComb2, 0, "ComboBoxEx32", vbNullString) ' получаем длину текста iTxtLen = SendMessage(hndComb3, WM_GETTEXTLENGTH, 0, 0) ' добавляем 1 для нулевого символа iTxtLen = iTxtLen + 1 s = Space$(iTxtLen) ' получаем текст в переменной s iTxtLen = SendMessage(hndComb3, WM_GETTEXT, iTxtLen, ByVal s) MsgBox s |
Сообщ.
#12
,
|
|
|
![]() ![]() hndExpl = FindWindow("CabinetWClass", vbNullString) hndExpl = FindWindowEx(hndExpl, 0, "WorkerW", vbNullString) hndExpl = FindWindowEx(hndExpl, 0, "ReBarWindow32", vbNullString) hndExpl = FindWindowEx(hndExpl, 0, "ComboBoxEx32", vbNullString) hndExpl = FindWindowEx(hndExpl, 0, "ComboBox", vbNullString) hndExpl = FindWindowEx(hndExpl, 0, "Edit", vbNullString) Прикреплённая картинка
![]() |
Сообщ.
#13
,
|
|
|
Filka, данная строка не выполняется
![]() ![]() hndExpl = FindWindowEx(hndExpl, 0, "ComboBoxEx32", vbNullString) Добавлено hndExpl равно нулю |
Сообщ.
#14
,
|
|
|
salieri, а оконным шпионом посмотреть имена классов?
|
Сообщ.
#15
,
|
|
|
Цитата Filka @ а где его скачать? оконным шпионом |