Вызов управляемого кода из неуправляемого

Автор: admin от 15-08-2017, 07:25, посмотрело: 22

Вызов управляемого кода из неуправляемого С задачей вызова неуправляемого кода из управляемого мы сталкиваемся довольно часто, и эта задача имеет простое решение в виде одного атрибута [DllImport] и небольшого набора дополнительных правил, которые хорошо изложены в MSDN. Обратная же задача встречается гораздо реже. В данной статье мы и рассмотрим небольшой пример, как это можно сделать. Его не стоит рассматривать как исчерпывающий, скорее лишь, как направление хода мыслей и концепцию. Итак, начнем.
->

Категория: Программирование, Системное администрирование, Веб-разработка, Windows

 

Расширение, изменение и создание элементов управления на платформе UWP. Часть 3

Автор: admin от 10-08-2017, 07:30, посмотрело: 31

Расширение, изменение и создание элементов управления на платформе UWP. Часть 3


Ознакомившись со средствами расширения и изменения существующих элементов управления в предыдущих частях, мы подходим к наиболее интересной теме данного цикла статей – создание новых элементов управления.



Часть 3. Создание новых элементов управления



Посредством присоединенных свойств (Attached Properties) и поведений (Behaviors) мы имеем возможность расширять существующие элементы управления без вмешательства в их внутренее устройство. Располагая же разметкой их шаблонов, мы также можем изменить их внешний вид и работу визуальных состояний (VisualState). Однако, если требуется изменить или расширить логику существующего элемента управления, или и вовсе создать новый элемент управления, то нам необходимо опуститься на уровень кода (ControlName.cs).
->

Категория: Программирование, Веб-разработка, Windows

 

Решение закрытой транспортной задачи с дополнительными условиями средствами Python

Автор: admin от 7-08-2017, 19:35, посмотрело: 20

Постановка задачи



Необходимость решения транспортных задач в связи с территориальной разобщённостью поставщиков и потребителей очевидна. Однако, когда необходимо решить транспортную задачу без дополнительных условий это как правило не является проблемой поскольку такие решения достаточно хорошо обеспечены как теоретически, так и программными средствами.



Решение закрытой транспортной задачи средствами Python с классическим условиями для поставщиков и потребителей товара приведено в моей статье “Решение задач линейного программирования с использованием Python” [1].



Реальная транспортная задача усложняется дополнительными условиями и вот некоторые из них. Ограниченная грузоподъёмность транспорта, не учитываемые задержки при оформлении груза на таможне, приоритеты и паритеты для поставщиков и потребителей. Поэтому решение закрытой транспортной задачи с учётом дополнительных условий и стало целью данной публикации. ->

Категория: Веб-разработка, Windows

 

Второй Hackfest в истории ReactOS

Автор: admin от 5-08-2017, 02:05, посмотрело: 35

Спешим поделиться важной информацией.



Мы решили продолжить традицию, поэтому второму в истории ReactOS хакфесту быть! Мероприятие пройдет с 14 по 18 августа 2017 года в Кёльне (Германия). Приглашаются желающие, для участия требуется предварительная регистрация



Всю информацию о событии можно получить на специальной вики-страничке.



Второй Hackfest в истории ReactOS

Фотография с хакфеста, прошедшего в 2015 году.



ReactOS хакфест будет посвящен интенсивной работе по улучшению работоспособности операционной системы. Большое внимание будет уделено тестированию различных USB-устройств. Если вам интересно, как прошел предыдущий хакфест, то рекомендуем ознакомиться с отчетом об мероприятии 2015 года.



Свое участие уже подтвердили такие разработчики, как Colin Finck, Eric Kohl, Giannis Adamopoulos, Mark Jansen, Thomas Faber, Victor Martinez, Timo Kreuzer.



Список участников и идей для хакфеста постоянно обновляется на второй вики-страничке.
->

Категория: Веб-разработка, Windows

 

Microsoft не изолировала Windows Defender в песочнице, так что это сделал я

Автор: admin от 3-08-2017, 15:30, посмотрело: 31

Microsoft подвергла своих пользователей немалому риску, когда выпустила Windows Defender вне песочницы. Меня это удивило. Песочница — одна из самых эффективных техник усиления безопасности. Почему Microsoft изолировала в песочнице другие высоковероятные цели атаки, вроде кода JIT в Microsoft Edge, но оставила Windows Defender без защиты?



В качестве PoC (proof-of-concept) я изолировал Windows Defender, а сейчас выкладываю свой код в открытый доступ как Flying Sandbox Monster. Основа Flying Sandbox Monster — это AppJailLauncher-rs, фреймворк на Rust для помещения ненадёжных приложений в AppContainers. Он также позволяет вынести I/O приложения за TCP-сервер, чтобы приложение в песочнице работало на полностью другой машине. Это дополнительный уровень изоляции.



В статье я опишу процесс и результаты создания этого инструмента, а также выскажу свои мысли о Rust на Windows.
->

Категория: Веб-разработка, Информационная безопасность, Windows

 

Интеграция Oculus Rift в десктопное Direct3D приложение на примере Renga

Автор: admin от 21-07-2017, 06:20, посмотрело: 39

Всем привет! В этой статье хочу разобрать процесс подключения шлема виртуальной реальности к десктопному приложению под Windows. Речь пойдет об Oculus Rift.



Архитектурная визуализация — очень благодатная тема для различного рода экспериментов. Мы решили не отставать от тренда. В одной из следующих версий наших BIM-систем (напомню, что я работаю в компании Renga Software, совместном предприятии АСКОН и фирмы «1С»): Renga Architecture — для архитектурно-строительного проектирования и Renga Structure — для проектирования конструктивной части зданий и сооружений, появится возможность хождения по проектируемому зданию в шлеме виртуальной реальности. Это очень удобно для демонстрации проекта заказчику и оценки тех или иных проектных решений с точки зрения эргономики.



Интеграция Oculus Rift в десктопное Direct3D приложение на примере Renga


->

Категория: Веб-разработка, Windows

 

Что такое SMT и как оно работает в приложениях — плюсы и минусы

Автор: admin от 18-07-2017, 22:30, посмотрело: 50

Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».



Что такое SMT и как оно работает в приложениях — плюсы и минусы


Тем, кому интересна данная тема, добро пожаловать под кат…
->

Категория: Программирование, Веб-разработка, Windows

 

Интеграция 3D-мыши в Renga

Автор: admin от 13-07-2017, 22:55, посмотрело: 75

Всем привет! Я работаю в компании Renga Software (совместное предприятие АСКОН и фирмы «1С»), которая занимается разработкой Renga Architecture — для архитектурно-строительного проектирования и Renga Structure — для проектирования конструктивной части зданий и сооружений.



В этой статье хочу поделиться опытом интеграции 3D-мыши в систему Renga.

Интеграция 3D-мыши в Renga
->

Категория: Веб-разработка, Windows

 

Автоматизируем десктопный GUI на Python + pywinauto: как подружиться c MS UI Automation

Автор: admin от 13-07-2017, 12:10, посмотрело: 39

Python библиотека pywinauto — это open source проект по автоматизации десктопных GUI приложений на Windows. За последние два года в ней появились новые крупные фичи:




  • Поддержка технологии MS UI Automation. Интерфейс прежний, и теперь поддерживаются: WinForms, WPF, Qt5, Windows Store (UWP) и так далее — почти все, что есть на Windows.

  • Система бэкендов/плагинов (сейчас их двое под капотом: дефолтный "win32" и новый "uia"). Дальше плавно двигаемся в сторону кросс-платформенности.

  • Win32 хуки для мыши и клавиатуры (hot keys в духе pyHook).



Также сделаем небольшой обзор того, что есть в open source для десктопной автоматизации (без претензий на серьезное сравнение).



Эта статья — частично расшифровка доклада с конференции SQA Days 20 в Минске (видеозапись и слайды), частично русская версия Getting Started Guide для pywinauto.




  • Основные подходы


    • Координатный метод

    • Распознавание эталонных изображений

    • Accessibility технологии


  • Основные десктопные accessibility технологии


    • Старый добрый Win32 API

    • Microsoft UI Automation

    • AT-SPI (Linux)

    • Apple Accessibility API


  • Как начать работать с pywinauto


    • Входные точки для автоматизации

    • Спецификации окон/элементов

    • Магия доступа по атрибуту и по ключу

    • Пять правил для магических имен



->

Категория: Программирование, Веб-разработка, Windows

 

24-ядерный CPU, а я не могу сдвинуть курсор

Автор: admin от 11-07-2017, 09:35, посмотрело: 30

Всё началось, как это часто бывает, когда моя машина начала подтормаживать. На рабочем компьютере Windows 10 c 24-ядерным процессором (48 потоков) — и они на 50% простаивали. Из 64 ГБ памяти использовалось меньше половины. Быстрый SSD тоже не особо использовался. И всё же, когда я двигал мышкой, курсор реагировал не сразу — иногда с задержкой в несколько секунд.



Так что я сделал то, что всегда делаю — записал трассировку событий с помощью ETW и проанализировал её. В результате я обнаружил баг Windows 10, серьёзно влияющий на производительность завершения процессов.



Трассировка ETW показала, что UI зависает во многих программах. Я решил исследовать 1,125-секундное зависание в Диспетчере задач:



24-ядерный CPU, а я не могу сдвинуть курсор ->

Категория: Программирование, Системное администрирование, Веб-разработка, Windows

 
Назад Вперед