6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52

Нужен исходник по созданию определенного количества папок

04.05.2023, 11:27. Показов 5864. Ответов 115

Студворк — интернет-сервис помощи студентам
Доброго времени суток, пользуюсь скриптами... VBS PoSH, CMD там сделать множество каталогов не такая уж проблема, подумал пару месяцев назад подучить VB6, хотел посмотреть смогу ли использовать его в администрировании... но увы информации мало, да и программы нашел по мимо ТС-а, которые могут как переименовывать, так и создавать множество папок. А вот по VB так и не нашел ничего, хотелось бы найти исходник или пример... Если нет ни у кого на этом форуме, то и искать уже, наверное, бесполезно.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2023, 11:27
Ответы с готовыми решениями:

Подсчитать количество символов в названиях папок и добить нулями до определённого количества
Привет всем! Необходимо решить очень сложную задачу... Что имеем: Есть неограниченное количество папок, их названия и длину названий...

Нужен исходник для расчёта комплектации материалов или т.п. Исходник с расчётами, таблицами
Добрый день всем) Нужна помощь. Занимаюсь расчётами стоимость материалов и стоимость в оконной конторе. Создал для себе эксель...

Батник по созданию папок
Всем привет. Помогите написать бат, который создает папку в папке. Например: Папка 1\Папка 2\Папка 3\ Папка 4\... и т.д.

115
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
07.05.2023, 21:06
Студворк — интернет-сервис помощи студентам
HackerVlad, любишь ты проблему на ровном месте придумывать
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 21:10
Цитата Сообщение от HackerVlad Посмотреть сообщение
The trick, как папку по умолчанию-то задать? или никак
Я вот у тебя спросил, а ты не ответил! Пришлось самому всё придумывать и писать код для этого.

Добавлено через 36 секунд
Цитата Сообщение от The trick Посмотреть сообщение
любишь ты проблему на ровном месте придумывать
Нет я просто люблю решать сложные задачи
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
07.05.2023, 21:38
Цитата Сообщение от HackerVlad Посмотреть сообщение
Я вот у тебя спросил, а ты не ответил! Пришлось самому всё придумывать и писать код для этого.
Я не знаю зачем ждать ответ если в мсдн все описано по этому методу.

Цитата Сообщение от HackerVlad Посмотреть сообщение
Нет я просто люблю решать сложные задачи
Вот я и говорю - проблему на ровном месте. Для задания папки есть SHBrowseForFolder.
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 22:13
Цитата Сообщение от testuser2 Посмотреть сообщение
Интересно а в редакторе реестра можно таже перемещаться? Есть прога RegJump, в которую забиваешь нужный путь и она открывает его в редакторе реестра.
Я тут решил поискать информацию по этой теме, вот нашёл тут: https://winreviewer.com/perexo... kom-myshi/
Скорее всего, как я понял, программа RegJump меняет значение реестра с последним открытым разделом реестра для редактора реестра и запускает его. Механизм открытия редактора реестра в нужном месте очень простой - нужно просто по адресу "HKCU\Software\Microsoft\Windows\Current Version\Applets\Regedit\LastKey" записать свой путь открытия редактора реестра и запустить его! И всё!

Добавлено через 14 минут
testuser2, всё очень просто оказалось с редактором реестра, специально для тебя написал скриптик:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
 
Private Sub Command1_Click()
    Dim WshShell As Object
    
    Set WshShell = CreateObject("WScript.Shell")
    
    ' Записать в реестр путь к реестру для открытия списка программ автозагрузки
    WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey", "Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "REG_SZ"
    
    ' Запустить редактор реестра, включив возможность открывать редактор реестра в нескольких экземплярах
    Shell Environ("windir") & "\regedit.exe -m"
End Sub
1
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
08.05.2023, 13:26
testuser2, нашёл я исходник программы RegJump вот тут люди, такие же любопытные как и ты уже дизассемблировали и изучили код: https://www.manhunter.ru/assem... eniya.html
Как я понял там выбирается нужная ветка реестра исключительно через SendKeys...

Добавлено через 15 минут
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
;---------------------------------------------
; RegJump Demo
; Copyright (C) ManHunter / PCL
; http://www.manhunter.ru
;---------------------------------------------
 
format PE GUI 4.0
entry start
 
include 'win32a.inc'
 
;---------------------------------------------
 
section '.data' data readable writeable
 
szClass db 'RegEdit_RegEdit',0
szList  db 'SysTreeView32',0
szReg   db '\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\',0
 
hRWnd dd ?
hWnd dd ?
ProcessId dd ?
hProcess dd ?
 
;---------------------------------------------
 
section '.code' code readable executable
 
  start:
        ; Найти окно редактора реестра
        invoke  FindWindow,szClass,NULL
        or      eax,eax
        jz      loc_exit
        mov     [hRWnd],eax
 
        ; Найти список в окне реестра
        invoke  FindWindowEx,[hRWnd],NULL,szList,NULL
        or      eax,eax
        jz      loc_exit
        mov     [hWnd],eax
 
        ; Получить хэндл процесса-владельца
        invoke  GetWindowThreadProcessId,[hRWnd],ProcessId
        invoke  OpenProcess,PROCESS_QUERY_INFORMATION,0,[ProcessId]
        or      eax,eax
        jz      loc_exit
        mov     [hProcess],eax
 
        ; Активировать окно редактора реестра
        invoke  ShowWindow,[hRWnd],SW_RESTORE
        invoke  SetForegroundWindow,[hRWnd]
        ; Установить фокус на список
        invoke  SetFocus,[hWnd]
        invoke  WaitForInputIdle,[hProcess],-1
 
        ; Вот тут непонятно :(
        invoke  SendMessage,[hRWnd],WM_COMMAND,10288h,0
        invoke  WaitForInputIdle,[hProcess],-1
 
        ; Перейти на верхний уровень списка
        mov     ebx,30
@@:
        invoke  SendMessage,[hWnd],WM_KEYDOWN,VK_LEFT,0
        invoke  WaitForInputIdle,[hProcess],-1
        sub     ebx,1
        jnz     @b
 
        ; Указатель на строку в названием ветки реестра
        mov     esi,szReg
loc_loop:
        lodsb
        or      al,al
        jz      loc_exit_clean
 
        cmp     al,'\'
        jne     @f
        ; Открыть ветку списка
        invoke  SendMessage,[hWnd],WM_KEYDOWN,VK_RIGHT,0
        invoke  WaitForInputIdle,[hProcess],-1
        jmp     loc_loop
@@:
        movzx   eax,al
        ; Поиск строки в списке
        invoke  SendMessage,[hWnd],WM_CHAR,eax,0
        invoke  WaitForInputIdle,[hProcess],-1
        jmp     loc_loop
loc_exit_clean:
        invoke  CloseHandle,[hProcess]
 
loc_exit:
        invoke  ExitProcess,0
 
;---------------------------------------------
 
section '.idata' import data readable writeable
 
  library kernel32,'kernel32.dll',\
          user32,'user32.dll'
 
  include 'api\kernel32.inc'
  include 'api\user32.inc'
1
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
08.05.2023, 13:40
Цитата Сообщение от HackerVlad Посмотреть сообщение
нашёл я исходник программы RegJump
Я почему-то помню, что видел исходник толи RegJump толи JumpReg (или может аналога) когда-то, и вроде бы был он на чем-т вроде AutoIt и ожидал увидеть что-то по проще, но там оказалось очнь много непонятного кода. Оказывается дело решается всего 2мя строчками скриптового кода (!) Наверное, если нужен какой-то эффект каскадного раскрытия наверное там нужно будет шаманить с SendKeys или SendMesage иначе смысла нет.
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
08.05.2023, 16:11
Цитата Сообщение от testuser2 Посмотреть сообщение
Оказывается дело решается всего 2мя строчками скриптового кода
Первый вариант который я тебе скинул гораздо проще) Как ты сказал всего 2 строчки кода, без всяких SendKeys...

Добавлено через 1 минуту
Но утилита Марка Рисияновича именно через эмулирование нажатия клавиш в оке работает через SendMessage WM_CHAR ищется название ветки реестра и активизируется стрелочками с клавиатуры...

Добавлено через 1 минуту
Цитата Сообщение от testuser2 Посмотреть сообщение
чем-т вроде AutoIt
Не знаю такого

Добавлено через 12 секунд
Видел ещё исходник на дельфи

Добавлено через 2 минуты
Но другие исходники используют ожидание интервала в секундах типа Sleep(750) я в шоке от других исходников, я тебе дал самый лучший на ассемблере там ожидание идёт правильно через WaitForInputIdle

Добавлено через 1 минуту
Просто вбей в гугл "исходник программы RegJump" и там найдёшь много чего такого похожего

Добавлено через 3 минуты
Я нашёл только на ассемблере, дельфи и на C++
На VB к сожалению не нашёл

Добавлено через 55 минут
Но если честно, меня очень удивило реализация этой программы через SendKeys а не через SendMessage окну дерева с определёнными флагами открытия дерева...

Добавлено через 52 минуты
Я если честно, вообще не понимаю, зачем было использовать эмулирование нажатие клавиш вместо того чтобы посылать сообщения дереву, это так странно, неужели они поленились просто написать нормальный код...

Добавлено через 4 минуты
Какие-то лентяи писали программу, честно, а ещё и в Microsoft'е теперь это. Марк Руссинович очень большой лентяй что написал всё через эмулирование клавиш....

Добавлено через 2 минуты
Если это конечно исходник Марка Русияновича на ассемблере код который, я же сам не дизассемблировал не проверял

Добавлено через 5 минут
Есть же описание элемента дерева в открытом доступе как и какие сообщения посылать для открытия или раскрытия кустов деревьев ну

Добавлено через 17 минут
У меня уже есть большой прогресс в этом вопросе я уже научился открывать и закрывать кусты реестра без всяких там SendKeys
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
08.05.2023, 16:25
Цитата Сообщение от HackerVlad Посмотреть сообщение
Марк Руссинович очень большой лентяй
Руссинович, великий человек, он дал людям инструмаенты, чтобы отключать и отслеживать всякое говно. Постоянно пользуюсь, уже много лет, Process Explorer и Autoruns. Эти проги у меня в числе первых на рабочем столе. Есть и другие, такие как UltraSearch, Abby ScreenshotReader, Stardok, Npp, Anvir..

Добавлено через 3 минуты
Q-Dir мне нраится, это как проводник, который можно запустить с пвышенными правами из под LUA, linkShellExtension полезная штука..
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
08.05.2023, 18:24
Цитата Сообщение от testuser2 Посмотреть сообщение
Руссинович, великий человек
Да я прочитал в википедии уже про него, понял что у него там всякие научные степени и так далее
Вместе с этим я просто недоумеваю, почему программа RegJump написана через посылание клавиш, это же отстой так делать вообще

Добавлено через 50 секунд
Есть же API-функции для прямого управления деревьями
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
08.05.2023, 19:04
Цитата Сообщение от HackerVlad Посмотреть сообщение
программа RegJump
Это же не его.. или просто разбирали его алгоритм, где из Autoruns можно "прыгнуть" в реестр.. У меня есть прога JumpReg, кстати, сейчас посмотрел, автор Azjio, это специалист по Автоиту, видел его здесь в разделе Pure Basic
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.05.2023, 02:26
Цитата Сообщение от testuser2 Посмотреть сообщение
У меня есть прога JumpReg
Я качал с сайта майкрософт там написано автор Русиянович

Добавлено через 40 секунд
Кстати я понял почему они написали через посылание клавиш, оказывается TVM_GETITEM получение информации о ветке дерева не работает для посыла в другой процесс.

Добавлено через 2 минуты
Вот тут с майкрософта качал: https://learn.microsoft.com/ru... ds/regjump
Там точно написано что автор Русиянович

Добавлено через 3 минуты
Хоть информация о структуре дерева и недоступна через TVM_GETITEM другого процесса, но всё равно есть обходные пути через VirtualAllocEx и WriteProcessMemory

Добавлено через 1 час 8 минут
Короче самый сложный вопрос тут это как прочитать дерево чужого процесса, это отдельная тема уже

Добавлено через 5 часов 48 минут
testuser2, у меня для тебя хорошие новости: я полностью понял, как, каким образом, и при помощи какого механизма, оперерировать деревом редактора реестра, задача оказалась весьма сложной, без посылания клавиш в окно, через команды SendMessage ну и задачку ты мне подкинул супер-сложную
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.05.2023, 20:14
Цитата Сообщение от testuser2 Посмотреть сообщение
Интересно а в редакторе реестра можно таже перемещаться? Есть прога RegJump, в которую забиваешь нужный путь и она открывает его в редакторе реестра.
Да! Можно! Вот полноценный ответ на твой вопрос, как перемещаться в редакторе реестра с помощью SendMessage: Готовые решения и полезные коды на Visual Basic 6.0
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.05.2023, 01:00
Друзья, вы решили эту тему превратить в рассадник оффтопа? при чём нарушают как обычные пользователи так и модераторы.
Я насчитал уже как минимум 3 разных темы:
- создание папок (название этой темы)
- диалог выбора папки
- RegJump
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
10.05.2023, 01:13
Цитата Сообщение от Dragokas Посмотреть сообщение
Друзья, вы решили эту тему превратить в рассадник оффтопа
Да, я знаю, тоже думал об этом, что надо было бы разделить на несколько тем по хорошему конечно... Ну уж как сложилось... Зато посмотри сколько просмотров уже 2 тысячи просмотров этой темы))))
0
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52
11.05.2023, 16:06  [ТС]
И правда многовато просмотров, но все же самым удобным и вполне приемлемым, остается вариант с Excel как сам по себе, так и со второй программой в связке уже без макроса, и да тот код VBA не вставить, в exe, но может есть обратный вариант, вставить лист excel? как БД access?... или CMD и таким образом реализовать с 1 по n*** папок, через графический интерфейс, открыть проводник, путь, нажать кнопку в диалоговом окне, или окнах записать либо формулу в окне, либо цифры в окнах, увы примеров лучше, чем скидывал в начале найти не смог, поисковик то выдавал какие-то ссылки, но все уже давно мертвые. По идее не должно быть сложно, только вот я со скриптами еле справляюсь, не говоря уже о программировании.

Добавлено через 8 минут
Цитата Сообщение от Тим70 Посмотреть сообщение
Самое простое
да оно и есть спасибо, великолепно, искал что бы и путь не нужно было прописывать. Но и так великолепно, создал 1000 папок в корне диска С:\. Думал, что прописал пусть C:\Folders, а что не прокатило, либо ошибся, либо паку заранее создавать нужно, проверю еще раз.

Нет не ошибся - проверил, один раз выдает ошибку, а второй раз создает их все в корне диска С:\
И все же вариант отличный.

Добавлено через 12 минут
Цитата Сообщение от testuser2 Посмотреть сообщение
Думал накидать по быстренькому прогу, но застопорился на диалоге выбора папки. В итоге решил сделать на VBA, с экселевским диалогом.
Вложения
ТурбоСоздательПапок.zip (25.5 Кб, 2 просмотров)
Почти такой же вариант, который скидывал в начале, но весьма удобнее... и уже диалоговым окном, но принцип тот же папку надо создавать заранее иначе выдает ошибку. Но с этой версией дополнительная программа уже не нужна.

Добавлено через 2 минуты
Цитата Сообщение от HackerVlad Посмотреть сообщение
Вот я писал уже Нужен исходник по созданию определенного количества папок
Пытаюсь разобраться, но кажется мне до этого далеко... никак не смог запустить.
0
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52
11.05.2023, 16:09  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Там нет исходников, без приложенных исходников запускать какие-то левые EXE точно не стану
Я запускал, вирусов нет - но пользы мало в отличие от всего остального не работает толком.
Миниатюры
Нужен исходник по созданию определенного количества папок  
0
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52
11.05.2023, 16:22  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Вот The Trick скинул код и не стал ничего объяснять, не стал объяснять как установить папку по умолчанию в этом диалоге. Самому приходится весь день голову ломать над этим вопросом. Итак всё-таки я решил написать через хук захвата создания новых окон, по совету testuser2
Вот оно правда я там девали что-то разберу , добавить бы к этой кнопке или еще одну кнопку вариант от Тим70 с количеством папок и можно сказать, что это уже отдельная программа, завершенная. Не менее интересно бы получился и вариант от testuser2. Но там все-таки VBA.
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
11.05.2023, 16:51
Цитата Сообщение от Addmmin Посмотреть сообщение
и уже диалоговым окном, но принцип тот же папку надо создавать заранее иначе выдает ошибку.
В коде в место mkdir используйте SHCreateDirectoryEx , она создает всю структуру пути. Декларацию "Declare Function SHCreateDirectoryEx.." надо располагать обязательно вверху модуля

Добавлено через 8 минут
Цитата Сообщение от Addmmin Посмотреть сообщение
самым удобным и вполне приемлемым, остается вариант с Excel
Можно сделать на VB, с использованием кода Thetrick-a, либо второй, более простой (там у него же в сообщении) вариант диалога
0
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52
11.05.2023, 17:09  [ТС]
Цитата Сообщение от testuser2 Посмотреть сообщение
В коде в место mkdir используйте SHCreateDirectoryEx , она создает всю структуру пути. Декларацию "Declare Function SHCreateDirectoryEx.." надо располагать обязательно вверху модуля
Поправки в код смогу внести, но вот
Цитата Сообщение от testuser2 Посмотреть сообщение
кода Thetrick-a
Это уже довольно сложно для меня. И все же втянулся как-то.
0
Любитель
 Аватар для Тим70
1047 / 756 / 161
Регистрация: 27.01.2019
Сообщений: 1,522
11.05.2023, 18:34
Цитата Сообщение от Addmmin Посмотреть сообщение
выдает ошибку
Моя оплошность.После 8 строки вставьте
Visual Basic
1
Exit Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2023, 18:34
Помогаю со студенческими работами здесь

Реализовать подсчет количества слов из определенного количества букв в строке
Как на языке си реализовать подсчет количества слов из, например, трех букв в строке?

Нужен исходник
Нужен исходник в Делфи 7, для подбора 5 значного кода в закрытую область (от 0 до 99999) в программе Вася Диагност.

Нужен исходник приложения
Разработать приложение, демонстрирующее подсчет и вывод суммы и произведения чисел, которые выбираются из списков. Добавить splash форму...

Нужен исходник компилятора
Может быть, у кого-нибудь есть самопальные исходники компилятора языка С? (Очень желательно) Ну или, на худой конец, угостит ссылкой...

Нужен исходник сапера
Мне нужен исходник сапера на Visual Basic .net. Весь Google периискал подходящего исходники не нашел. :cry: Буду благодарен тому хто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru