|
Почетный модератор
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|||||||
Готовые решения и полезные коды на Visual Basic .NET (Часть-1)18.08.2011, 22:44. Показов 594766. Ответов 250
Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами.
Обращаю внимание на некоторые моменты, которые являются дополнением к основным правилам
Просьба к постившим: не спешите постить решения "сгоряча", тщательно обдумайте список вопросов, их тематику и порядок Если вы найдете информацию, которой можно было бы дополнить ваши предыдущие сообщения, что-то изменить или перегруппировать, пишите в л/с.
Примечание: некоторые коды приведены без учета строгой типизации (Параметр Strict), поэтому для их использования необходимо выполнить приведение типов
55
|
|||||||
| 18.08.2011, 22:44 | |
|
Ответы с готовыми решениями:
250
Готовые решения и полезные коды на Visual Basic .NET (Часть-2)
|
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 16.04.2020, 18:02 | ||||||
|
Переменные окружения процесса
Как правило, структуры Windows от версии к версии ОС меняются незначительно, и чаще всего эти изменения выражены добавлением новых полей структуры (обычно в окончание последней, реже - в начало или середину, очень редко структура изменяется до неузнаваемости). Смещения некотрых первых полей таких структур остаются неизменными на протяжении десятилетий (исключая обозначенные выше случаи). Введение новых полей с одной стороны вносит некую сумятицу в работу системного программиста, с другой - в разы может упростить извлечение каких-то данных. Например, структура PEB в Windows 10 выглядит уже очень привлекательно, из нее можно извлечь такие данные как детальные сведения о кучах без отладдочного буфера (RtlCreateQueryDebugBuffer) или, скажем, переменные окружения процесса (ниже представлени пример того, как это можно сделать).
3
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 17.04.2020, 00:52 | ||||||
|
Небезопасный код в VB.NET Core (на примере вычисления энтропии Шеннона)
NET Core - боль, особенно для бывалых консольщиков. НО! Если в .NET Framework можно схлопотать леща в виде System.Security.VerificationException при создании динамического метода небезопасного (unsafe) кода, то NET Core в этом плане весьма либерален. Учитывая же, что поддержки unsafe в VB.NET нет и не предвиделось даже по мере развития .NET Framework, то NET Core в этом плане видится некоторым спасением. Хотя с какой стороны поглядеть... Ведь в VB.NET нет ни условной компиляции, ни макросов, ни прочих плюшек из мира приплюснутых Сей. Да и язык программирования в конечном счете не должен быть самоцелью, так как он лишь средство реализации идей. Правда иногда все же весьма любопытно просто поиграться с тем или иным ЯП. От слов - к делу. Ниже пример вычисления энтропии файла (будет работать даже на больших файлах быстро). PoC был написан под NET Core, при попытке запустить код в .NET Framework получите леща описанного выше.
2
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 30.04.2020, 21:30 | ||||||
|
Быстрый способ узнать доступна ли аппаратная виртуализация
Существует несколько способов узнать заявленное в заглавии, все они различаются по степени сложности своей реализации, а также позывом к рвоте у некоторых антивирусов. Первый - cpuid; требует машинных кодов и средств контрацепции от антивирусов, ибо у последних все чаще возникает околопоясничная боль в районе бедер при одном упомянании VirtualAlloc и иже с ним. Второй - IsProcessorFeaturePresent; антивирусы на оную функцию смотрят сквозь пальцы, однако есть способ быстрее и не требующий явных вызовов WinAPI. Ага, все та же структура KUSER_SHARED_DATA, конкретней - смещение 0x289, где хранится булево значение фичи PF_VIRT_FIRMWARE_ENABLED:
5
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 18.05.2020, 23:01 | ||||||
|
Вывести список поставщиков учетных данных Windows
Если вы серьезно занимаетесь системным программированием, то обязаны знать о такой вещи как поставщики учетных данных (credential providers). Некоторые базовые сведения о них извлекаются из реестра.
2
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|||||||||||
| 22.05.2020, 18:53 | |||||||||||
|
Получить версию GNU/Linux
Не так давно, при разработке приложения под Ubuntu пришлось столкнуться с рядом странностей в плане получения версии ОС. Дело в том, что System.Environment.OSVersion в Mono возвращает версию не ОС как таковую, а ядра. Спрашивается,
Суть, полагаю, ясна.
1
|
|||||||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 25.05.2020, 13:30 | ||||||
|
[Де]кодирование ROT13
В Windows XP значения раздела реестра UserAssists были зашифрованы посредством ROT13, однако, это далеко не единственный пример использования этого шифра. Помимо прочего ROT13 используется некоторыми пыхокодерами, мессенджерами (с солью), словом, несмотря на всю свою примитивность, алгоритм еще в строю (наряду с ROT47). При реализации ROT13 каким-то догматичным стал подход использования диапазонов значений латинского алфавита, что вовсе не означает его исключительность. Тем более (личное) такой подход кажется избыточным. Проще все сделать в вызове Regex.Replace.
2
|
||||||
|
Модератор
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
|
|||||||||||
| 31.05.2020, 17:01 | |||||||||||
|
Добавить возможность отбрасывать НАТИВНУЮ тень от формы при выставленном свойстве
BorderStyle = NoneВ дизайнер формы Form.Designer.vb (так проще, не загромождая основной класс формы) добавьте следующий регион кода:#Region " Form Shadow"
Ну и результат на картинке (тем самым можно делать свой дизайн формочки добавляя нативную тень) А так можно добавить возможность отбрасывать ПРОСТУЮ тень без сглаживания при выставленном свойстве BorderStyle = None
9
|
|||||||||||
|
Нарушитель
|
|
| 02.06.2020, 10:50 | |
|
Стиль формы как в Windows 10 (стиль Microsoft Store)
Состоит из кастомных элементов, разрешается добавлять новые Border-контроллы и не только.
2
|
|
|
Нарушитель
|
||||||
| 25.07.2020, 11:20 | ||||||
|
Кнопка из Windows 10
Я создал копию "фирменной кнопки Microsoft" операционной системы Windows 10 на VB NET. Вот что получилось:
2
|
||||||
| 23.08.2020, 15:32 | |
|
UserControl сходный по назначению с TabControl
На мой взгляд возможная замена TabControl. Реализовано: • Добавление кнопок • Удаление кнопок • Перемещение кнопок При желании можно перекомпоновать под собственные критерии прекрасного, например разместить коллекцию кнопок вертикально (справа или слева) и т.д.
11
|
|
|
1492 / 587 / 107
Регистрация: 26.03.2012
Сообщений: 1,039
|
||||||||||||||||
| 14.09.2020, 18:27 | ||||||||||||||||
|
Экспорт DataGridView в форматы ExcelXML (без установленного офиса) или HTML, а так же печать таблицы используя компонент нативный WebBrowser.
ExcelXML (не Excel XLS/XLSX):
4
|
||||||||||||||||
|
Модератор
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
|
||||||
| 06.11.2020, 13:46 | ||||||
|
Галерея элементов на основе FlowLayoutPanel
4
|
||||||
|
Модератор
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
|
|||||||||||
| 06.01.2021, 12:48 | |||||||||||
|
Вариант получения результата запроса в базу данных и вывода полученных данных без использования DataAdapter'a.. Так же, будет выдано исключение, если в качестве имени таблицы было передано что-то иное.
Можно так же дополнить код проверкой на наличие самой таблицы в базе данных.
Вспомогательная фунция как Extension, для проверки ралидности переданного имени таблицы:
5
|
|||||||||||
|
Модератор
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
|
||||||
| 12.01.2021, 19:36 | ||||||
|
Запретить своей форме принимать и держать фокус. Полезно при написании виртуальной клавиатуры или же в других моментах, когда активирование своего окна очень нежелательно
Для работы кода нужно задекларировать две WinAPI: SetWindowLong и GetWindowLong. Как это сделать, кто не знает, в сети много примеров.
3
|
||||||
|
1087 / 917 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
|
||||||||||||||||
| 12.01.2021, 21:41 | ||||||||||||||||
|
Обертка методов FlashWindow, FlashWindowEx из user32.dll
В зависимости от переданных параметров заставляет мерцать окно и/или кнопки на панели задач для привлечения внимания пользователя Код (параметры подписаны) Кликните здесь для просмотра всего текста
Примеры использования Для WinForms
8
|
||||||||||||||||
|
Нарушитель
|
||||||||||||||||
| 09.02.2021, 16:48 | ||||||||||||||||
|
Вбиваем запрос в интернете, используя браузер по умолчанию
Сам код:
Очень надеюсь, что кому-нибудь да пригодится. Код написан для CyberForum.
4
|
||||||||||||||||
|
Нарушитель
|
|||||||||||
| 10.02.2021, 22:25 | |||||||||||
|
Решение линейных математических выражений
0
|
|||||||||||
|
Нарушитель
|
|||||||||||
| 12.02.2021, 11:55 | |||||||||||
|
Держим дисплей (монитор) выключенным, пока пользователь не взаимодействует с компьютером
-- Второй способ DisplayOff - кнопка System.Windows.Forms.Button
3
|
|||||||||||
|
Нарушитель
|
||||||
| 12.02.2021, 19:50 | ||||||
|
Запускаем EXE-файл без расширения в папке с нашей программой
Немного благодарности Jungl
2
|
||||||
|
Нарушитель
|
|||||||||||
| 23.02.2021, 18:56 | |||||||||||
|
Добавляем водяной, описывающий текст TextBox
Для реализации используем Windows API, соответственно. Немногие знают, но TextBox от нас скрывает удивительное свойство - содержать в себе описывающий текст (ну или "водяной", кому как). Только вот, Microsoft от нас это утаили. Публикую код для добавления подобной фичи в свой проект. Код модуля:
3
|
|||||||||||
| 23.02.2021, 18:56 | |
|
Basic4Android. Готовые решения полезные коды Полезные коды для PascalABC.NET Готовые коды для решения лабораторных работ Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|