Форум программистов, компьютерный форум, киберфорум
The trick
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Старый
Рейтинг: 5.00. Голосов: 2.
Library info 2
Запись от The trick размещена 01.06.2014 в 16:12
Показов 5734 Комментарии 2
Метки vb

Модификация вот этого кода. Теперь дополнительно можно просматривать импорт, отложенный импорт, экспорт. Также есть небольшие модификации относительно библиотеки типов (отображение событий, типов методов и др.). Планирую добавить еще просмотр аргументов функций и методов.
Модуль frmLibInfo.frm:
Visual Basic
1
2
3
4
Option Explicit
 
' Получение информации об импорте, экспорте и библиотеки типов
' © Кривоус Анатолий
...
Модератор
Старый
Использование ActiveX контролов без регистрации в реестре.
Запись от The trick размещена 31.05.2014 в 18:29
Показов 4431 Комментарии 0
Метки activex, vb

Разработал модуль с помощью которого можно работать с ActiveX контролами незарегистрированными в реестре, а также реализована поддержка событий. В нем содержится функция ControlsAdd (аналогия метода формы Controls.Add), с помощью которой можно добавлять контролы используя путь к библиотеке и CLSID контрола. Модуль особо не тестировался, поэтому что-то может не заработать, но...
Модератор
Старый
Рейтинг: 4.00. Голосов: 1.
Модуль для перехвата функций на VB6
Запись от The trick размещена 31.05.2014 в 02:59
Показов 4822 Комментарии 0
Метки vb

Разработал простой модуль с помощью которого можно перехватывать STDCALL функции и методы COM объектов. Перехват реализован с помощью сплайсинга, никаких синхронизаций нет, так что в многопоточной программе могут возникнуть проблемы. Пользоваться нужно осторожно, т.к. любая ошибка...
Модератор
Старый
Использование ActiveX библиотек без регистрации в VB6
Запись от The trick размещена 30.05.2014 в 11:10
Показов 1750 Комментарии 0
Метки vb

Привет всем. Выкладываю модуль для работы с COM-Dll без регистрации в реестре.
Модуль имеет несколько функций:
  1. GetAllCoclasses - возвращает список имен классов вместе с идентификаторами извлеченными из библиотеки типов.
  2. CreateIDispatch - создает реализацию IDispatch на основе объекта и имени интерфейса.
  3. CreateObjectEx2 - создает объект по имени.
  4. CreateObjectEx - создает объект по CLSID.
  5. UnloadLibrary - Выгружает библиотеку, если та не используется.

Visual Basic
1
' The module modTrickUnregCOM.bas
...
Модератор
Старый
Cалют
Запись от The trick размещена 23.05.2014 в 00:24
Показов 2777 Комментарии 0
Метки vb


Visual Basic
1
2
3
4
5
6
7
8
9
Option Explicit
 
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundW" (ByVal lpszName As Long, ByVal hModule As Long, ByVal dwFlags As Long) As Long
 
Private Const SND_ASYNC = &H1
Private Const pi = 3.14
 
Private Function Draw(v As Long, cc As Long) As Boolean
    Dim dh As Single, c As Single, d As Single, x As Single, y As Single, w As Long, i As Long, dx As Single, dy As Single,
...
Модератор
Старый
Рейтинг: 5.00. Голосов: 3.
Модифицируем стандартный ListBox
Запись от The trick размещена 08.05.2014 в 02:47
Показов 10380 Комментарии 2
Метки vb

Сделал класс, с помощью которого можно модифицировать отрисовку стандартного списка. Он имеет событие Draw, которое вызывается когда нужно отриовать очередной элемент списка. Для работы, нужно установить у списка стиль Checked (флажки), и присвоить данный ListBox свойству clsTrickListBox.ListBox. Также можно изменять высоту элементов и отменять отрисовку.
Visual Basic
1
2
3
Option Explicit
 
' Класс clsTrickListBox.cls - для ручной отрисовки стандартного ListBox'а
...
Модератор
Старый
Работа с ITypeLib, ITypeInfo в VB6
Запись от The trick размещена 25.04.2014 в 03:48
Показов 5669 Комментарии 0
Метки vb

Накидал небольшой пример работы с ITypeLib, ITypeInfo для получения информации из библиотеки типов.
Visual Basic
1
2
3
4
5
6
7
8
Option Explicit
 
' Ðàáîòà ñ ITypeLib, ITypeInfo VB6
' © Êðèâîóñ Àíàòîëèé Àíàòîëüåâè÷ (The trick), 2014
 
Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
...
Модератор
Старый
Рейтинг: 5.00. Голосов: 2.
Работа с указателями в VB6
Запись от The trick размещена 18.04.2014 в 02:25
Показов 12796 Комментарии 8
Метки vb

Для начала нужные декларации
Visual Basic
1
2
Public Declare Function GetMem4 Lib "msvbvm60" (src As Any, Dst As Any) As Long
Public Declare Function ArrPtr Lib "msvbvm60" Alias "VarPtr" (src() As Any) As Long
Часто встречаются ситуации когда нужно получить данные имея только адрес (нампример в WndProc, HookProc). Обычно просто копируют данные через CopyMemory в структуру,...
Модератор
Старый
Исследование Dictionary
Запись от The trick размещена 14.04.2014 в 06:09
Показов 2582 Комментарии 0
Метки vb

https://www.cyberforum.ru/visu... ost6041629
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
Круговой визуализатор спектра
Запись от The trick размещена 27.03.2014 в 03:30
Показов 5828 Комментарии 1
Метки vb

http://youtu.be/h9qteZBkwww

Представляю исходный код и скомпилированную программу графического визуализатора звукового спектра. Звук анализируется через стандартное устройство записи Windows, т.е. можно выбрать микрофон и просматривать спектр с него, либо выбрать стереомикшер...
Модератор
Старый
Рейтинг: 5.00. Голосов: 2.
Получить информацию о используемой памяти процесса
Запись от The trick размещена 18.03.2014 в 14:11
Показов 5021 Комментарии 4
Метки vb

В примере можно узнать информацию о используемой памяти запущенными процессами.
Проект на GitHub.
Модератор
Старый
Рейтинг: 1.00. Голосов: 2.
Перевод из строки в число и обратно
Запись от The trick размещена 11.03.2014 в 04:36
Показов 4207 Комментарии 2
Метки vb

VB-шные функции для перевода и проверки чисел в строки (и обратно) очень неудобные, в плане того что туда можно много чего написать, и они их "съедят". Можно написать числа в шестнадцатеричной системе или в скобках, в экспоненциальной записи и т.п. С одной стороны это хорошо,...
Модератор
Старый
Рейтинг: 5.00. Голосов: 3.
Пользовательская отрисовка окна
Запись от The trick размещена 05.03.2014 в 05:36
Показов 19120 Комментарии 2
Метки basic, vb, win32



В Windows 7 появилась замечательная вещь - индикация прогресса на кнопках панели задач. Чтобы использовать данную возможность на VB6 (и в любых других языках) нужно создать объект TaskBarList, получить интерфейс ITaskBarList3 и воспользоваться его методами SetProgressState и SetProgressValue.
В своем модуле я добавил возможность задавать состояние индикатора прогресса на панели задач,...
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
Создание GIF-анимации с прозрачным фоном на VB6
Запись от The trick размещена 25.02.2014 в 03:45
Показов 9602 Комментарии 5
Метки gif, vb

Как и обещал для этой темы сделал обратную задачу - создание новой анимации из кадров. Максимальный размер картинок 640х640. В принципе для анимаций без прозрачного фона, а также анимаций с ColorKey цветом прозрачности эта задача очень просто решается с помощью библиотеки GDI+, но у нее, как я выяснил при написании этой тестовой программы, есть недостаток - она не позволяет задать свойство восстановления фона анимации, по крайней мере в MSDN про это ни слова. Это проявляется...
Модератор
Старый
Рейтинг: 5.00. Голосов: 3.
"Линза" на VB6
Запись от The trick размещена 20.02.2014 в 02:16
Показов 5852 Комментарии 6
Метки vb



С помощью этой программы можно просматривать под увеличением определенный участок экрана, увеличение можно изменять колесиком, выход - ESC
Модуль:
Visual Basic
1
2
3
4
5
Option Explicit
 
' Ìîäóëü modMain.bas
' © Êðèâîóñ Àíàòîëèé Àíàòîëüåâè÷ (The trick), 2014
' Ðåàëèçàöèÿ
...
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
Поддержка For Each в VB классах.
Запись от The trick размещена 18.02.2014 в 19:24
Показов 6308 Комментарии 0
Метки vb

Для поддержки перечисления в циклах For each на VB6, класс должен реализовывать интерфейс IEnumVariant. Его метод Next используется операторами For Each для получения следующего элемента перечисления. В случае, когда элементы перечисления закончились, метод должен возвратить 0 иначе 1. В своей реализации я использую псевдообъект* EnumObject, который реализует этот интерфейс и вызывает метод у VB-объекта, чтобы мы могли сами настроить...
Модератор
Старый
Коллекции VB6
Запись от The trick размещена 15.02.2014 в 20:18
Показов 2730 Комментарии 0
Метки vb

https://www.cyberforum.ru/visu... ost5782299
Модератор
Старый
Рейтинг: 5.00. Голосов: 3.
Запись данных в ресурсы своего EXE из "себя" VB6
Запись от The trick размещена 12.02.2014 в 01:20
Показов 10828 Комментарии 18
Метки vb


Бывают ситуации, когда хочется где-то сохранить данные после работы программы, но не хочется иметь внешних файлов-зависимостей, записей в реестре и т.п. Зато можно хранить данные в своем EXE, но Windows не позволяет писать в работающий EXE (NTFS потоки не рассматриваю), и любая...
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
Наглядный пример FM (PM) синтеза на VB6
Запись от The trick размещена 09.02.2014 в 19:15
Показов 5358 Комментарии 0
Метки vb

Наглядный пример FM (PM) синтеза, форму волны можно визуально наблюдать. Регулятором Tone добейтесь "стабильной" картинки и регулируйте параметры. Элементы матрицы регулируются зажатием и перемещением мыши в соответствующем текстбоксе.
Visual Basic
1
2
3
4
5
6
7
8
Option Explicit
 
' Наглядный пример FM (PM) синтеза
' © Кривоус Анатолий Анатольевич (The trick), 2014
 
Implements DirectXEvent8
 
Private Type Osc
...
Модератор
Старый
FM-синтезатор на VB6 (Trick FM)
Запись от The trick размещена 04.02.2014 в 01:03
Показов 4761 Комментарии 3
Метки audio, sound, vb



Как-то давно занимался изучением синтеза звука, в частности FM (частотная модуляция) методом. Была написана тестовая программка-синтезатор. Сегодня я ее подправил немного, сделал GUI и т.п.
Характеристики:
  • 6 осцилляторов
  • 6 форм волн
  • ADSR огибающая для каждого осциллятора
  • Модуляционная матрица 6x6 + 6 для вывода звука.
  • Гейт на 16 частей с регулировкой жесткости
В общем полноценный FM синтезатор.
Клавиши:
Z-C5...
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
2 синтезатора на VB6
Запись от The trick размещена 02.02.2014 в 19:13
Показов 2426 Комментарии 0
Метки audio, sound, vb

Потихоньку разрабатываю свою программу для создания музыки на VB6. Решил выложить 2 синтезатора. Оба по задумке создавались для создания музыки 8 bit и Chiptune, т.к. сам люблю такую музыку и пишу ее. Данное приложение было написано достаточно давно, поэтому могут быть недочеты и ошибки...
Модератор
Старый
Просмотр GIF анимации в VB6
Запись от The trick размещена 29.01.2014 в 01:38
Показов 5516 Комментарии 0
Метки gif, vb

Можно просматривать анимацию, в любом окне, у которого есть свойство hWnd. Также соблюдены скорость и количество повторов (как в оригинальном GIF'е), также значимые параметры выводятся на экран. В принципе, если еще немного доработать, то можно засунуть в класс и уже можно работать с анимациями на уровне ООП....
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
"Многооконная" многопоточность VB6
Запись от The trick размещена 29.01.2014 в 00:48
Показов 5017 Комментарии 0
Метки vb

В примере можно в отдельном потоке создать экземпляр окна, рисовать на нем и заморозить, не затрагивая другие потоки. При закрытии основного окна, оно закрывает все окна и ждет завершения всех потоков. Так что если нажать Sleep, то программа будет ждать завершения пока не закончится период ожидания.
Модуль:
Visual Basic
1
2
3
4
Option Explicit
 
' Модуль для создания окна с циклом обработки сообщений в новом потоке
' © Кривоус
...
Модератор
Старый
Рейтинг: 5.00. Голосов: 2.
Внедрение в чужой процесс на VB6 (без DLL)
Запись от The trick размещена 26.01.2014 в 17:03
Показов 12252 Комментарии 7
Метки injection, multithreading, vb


Всем известна утилита SPYXX. С помощью нее можно делать много чего интересного. В числе ее возможностей - просмотр сообщений отправленных окну и результаты их обработки. Я решил сделать что-то подобное только на VB6 (не в качестве создания программы типа SPYXX, а в качестве демонстрации возможности внедрения кода из VB6, так что функционал проги очень маленький). Как известно SPYXX делает это с помощью глобальных хуков, но мне была интересна идея внедрения без DLL (c DLL...
Модератор
Старый
Рейтинг: 5.00. Голосов: 5.
Перехват событий мыши и клавиатуры в VB6
Запись от The trick размещена 23.01.2014 в 10:59
Показов 18692 Комментарии 7
Метки vb

Простой модуль для перехвата событий мыши и клавиатуры. События перехватываются в независимости от активности данного приложения (можно перехватывать в чужих окнах). Используются LowLevel хуки, также простой сменой LL -хука на обычный (без LL) можно перехватывать только в своем приложении. Также распознаеться программное нажатие через keybd_events, mouse_events от реального (насчет SendInput и SendKeys не проверял).
Модуль:
Visual Basic
1
2
3
Option Explicit
 
' Модуль для перехвата
...
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
ComboBox для выбора цветов
Запись от The trick размещена 14.01.2014 в 01:42
Показов 4840 Комментарии 1
Метки vb

Стандартный VB-шный комбинированный список не позволяет родными средствами рисовать в списке. Для обхода этого ограничения, в своем модуле я использую стиль OWNERDRAW комбинированного списка.
После небольшой доработки, можно что угодно делать со списком.
Специально для FelixMacintosh
Visual Basic
1
2
3
4
Option Explicit
 
' Модуль для создания комбинированного списка с выбором цветов
' © Кривоус Анатолий Анатольевич
...
Модератор
Старый
Рейтинг: 5.00. Голосов: 1.
Прочитать параметры запуска чужого процесса
Запись от The trick размещена 09.01.2014 в 00:47
Показов 2639 Комментарии 0
Метки vb

2й123
Цитата Сообщение от The trick Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
Private Type PROCESS_BASIC_INFORMATION
    ExitStatus As Long
    PebBaseAddress As Long
    AffinityMask As Long
    BasePriority As Long
    UniqueProcessId As Long
    InheritedFromUniqueProcessId As Long
End Type
Private Type UNICODE_STRING
    Length As Integer
    MaxLength As Integer
    lpBuffer As Long
End Type
Private Declare Function OpenProcess Lib "kernel32"
...
Модератор
Старый
Рейтинг: 3.00. Голосов: 2.
Мониторинг консольной программы
Запись от The trick размещена 09.01.2014 в 00:45
Показов 3099 Комментарии 3
Метки console, vb

ДДДДДДД
Цитата Сообщение от The trick Посмотреть сообщение
Если открывать через CreateProcess, то можно через каналы Pipe получить доступ к этой консоли.
Visual Basic
1
2
3
4
Option Explicit
 
Private Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long
Private Declare Function PeekNamedPipe Lib "kernel32" (ByVal hNamedPipe As Long, lpBuffer As Any, ByVal nBufferSize As Long, lpBytesRead As Long, lpTotalBytesAvail As Long, lpBytesLeftThisMessage
...
Модератор
Старый
Рейтинг: 4.38. Голосов: 8.
Генерация ёлки))
Запись от The trick размещена 30.12.2013 в 03:14
Показов 11986 Комментарии 12
Метки new year, vb

К новому году решил сделать анимированную елку на рабочий стол.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
' Ёлка VB6
' © Кривоус Анатолий Анатольевич (The trick), 2013
Private Type GdiplusStartupInput
    GdiplusVersion As Long
    DebugEventCallback As Long
    SuppressBackgroundThread As Long
    SuppressExternalCodecs As Long
End Type
Private Type Vector
    x As Single
    y As Single
End Type
Private
...
Модератор
Старый
Пример многопоточности VB6
Запись от The trick размещена 23.12.2013 в 11:27
Показов 4989 Комментарии 0
Метки multithreading, vb

В примере показана возможность работы с потоками в VB6. Можно создать несколько потоков и менять их приоритет (TIME_CRITICAL ставить на свой страх и риск, я поставил пришлось кнопкой выключать комп). Работает только в скомпилированном варианте.
Форма
Visual Basic
1
2
3
4
5
Option Explicit
 
' Пример многопоточности VB6
' © Кривоус Анатолий Анатольевич (The trick), 2013
' Работает только в скомпилированном виде
...
Модератор
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru