|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
|
Как работать с потоками IStream в Visual Basic 616.11.2024, 18:08. Показов 13823. Ответов 206
Метки нет (Все метки)
Всем привет! Я недавно узнал о таком чуде как потоки IStream, это такие данные в оперативной памяти вашего процесса EXE типа байтовых массивов только круче. Как я это понял лично. Вот мне очень интересно стало поработать именно со стримами. Если у кого-то есть какие-то наработки в этом плане буду рад, если поделитесь.
Из того, что я пока узнал: Есть API для создания, чтения и записи стримов - это функции SHCreateMemStream, IStream_Write, IStream_Read и IStream_Size. Это конечно очень интересно всё, но я не нашёл функции для позиционирования IStream_Seek (её что не существует?). Есть возможность управлять стримами через объявления в TLB, однако мне эта тема не интересна, так как я не люблю подключать всякие там TLB. Есть возможность управлять потоками IStream через специальную функцию DispCallByVtbl Хотелось бы подробно разобрать эту тему и научиться: 1. Создавать поток IStream 2. Записывать 3. Считывать 4. Позиционировать
0
|
|
| 16.11.2024, 18:08 | |
|
Ответы с готовыми решениями:
206
Как работать с камерой в Visual Basic Как работать в Visual Basic'е с реестром? Как работать с таблицами Ecxel в Visual Basic? |
|
Модератор
|
|||||||
| 17.01.2025, 15:56 | |||||||
|
HackerVlad, тот код помимо сохранения картинки позволяет указать качество, а также делает скриншот всего экрана. Вот минимальная функция сохранения через GDI+ - аналог твоего кода.
Добавлено через 1 минуту
2
|
|||||||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||
| 17.01.2025, 16:27 [ТС] | ||
|
Добавлено через 1 минуту The trick, а вот за функцию SaveAsPng спасибо большое, там хоть всё описано)))
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
|
| 17.01.2025, 16:41 [ТС] | |
|
Итак, я это всё добро оформил в красивый новый проект-пример, показывающий как сохранить картинку в байтовый массив в формате PNG, программным кодом на VB6 этот код конечно и правда оказался даже на 10 строк меньше и будет так же работать в WIndows XP, что тоже немаловажно конечно)
1
|
|
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||
| 17.01.2025, 16:46 [ТС] | ||
|
The trick, тут только один вопрос остался по этому коду: почему ты использовал CreateStreamOnHGlobal а не SHCreateMemStream
Добавлено через 1 минуту
0
|
||
| 17.01.2025, 16:47 | ||||||
|
HackerVlad, а тот пример с ADO я не нашел здесь, но я просто, я думаю, раз в том случае у тебя выпало IDE, значит, может работать такой вариант (без ObjPtr)
0
|
||||||
|
Модератор
|
|||
| 17.01.2025, 16:52 | |||
|
Добавлено через 2 минуты
1
|
|||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||||
| 17.01.2025, 16:57 [ТС] | ||||
|
Добавлено через 2 минуты Добавлено через 1 минуту Добавлено через 1 минуту я вроде же выкладывал пример, там была другая картинка, там была пальма я вспомнил, а не девочка
0
|
||||
| 17.01.2025, 17:39 | ||||||
|
Версия без API
1
|
||||||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||
| 17.01.2025, 17:47 [ТС] | ||
|
MakeHexString какая-то нерабочая функция совсем
Добавлено через 3 минуты
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
|
| 17.01.2025, 17:48 [ТС] | |
|
как заставить MakeHexString работать вообще не понятно короче хоть ты кол на голове чеши
0
|
|
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||||||
| 17.01.2025, 18:12 [ТС] | ||||||
|
testuser2, да там этот Not Not дурацкий мне сразу не понравился, наверное он всё и портил
Добавлено через 1 минуту testuser2, Что-то не тое
0
|
||||||
| 17.01.2025, 18:12 | |
|
Он она ета функция The trick-а,
https://www.vbforums.com/showt... ost5339285
0
|
|
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
|
| 17.01.2025, 18:16 [ТС] | |
|
Придётся детально разбираться в этом сложном коде, ну и подкинул мне работы The Trick
Добавлено через 2 минуты testuser2, а у тебя уже есть готовая функция, чтобы не возиться с кодом трика?
0
|
|
| 17.01.2025, 18:18 | ||
|
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||
| 17.01.2025, 18:20 [ТС] | ||
|
Добавлено через 43 секунды testuser2, не понимаю её работы Long и Long и всё Добавлено через 45 секунд или ты просто не написал As String? и поэтому так сильно меня сбил с толкку...
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
||
| 17.01.2025, 18:22 [ТС] | ||
|
0
|
||
| 17.01.2025, 18:22 | |
|
Можно ли научится работать ASP.NET на основе Visual Basic Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net ? Вычисление значений функции двух переменных в Visual Basic - Visual Basic
Как работать с потоками? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
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).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|