Pull to refresh
146.66

Development for Windows *

Developing for Microsoft OSs

Show first
Rating limit
Level of difficulty

How to Speed Up and Optimize Windows 11

Level of difficultyEasy
Reading time4 min
Reach and readers1.5K

Windows 11 is a modern and beautiful operating system, but sometimes it can run slower than you'd like. This is especially noticeable on older or less powerful PCs. The good news is that there are several simple and effective ways to improve system performance, making it faster and more convenient to use.

In this article, we'll look at how to properly configure Windows 11, get rid of unnecessary processes, and optimize its performance so that your computer runs smoothly and stably.

By the way, if you're interested in IT and useful tools, check out my Telegram channel. I regularly post fresh news, life hacks, and other useful things there. And now, to the heart of the article.

Read more

(VLESS) VPN client for Windows

Level of difficultyEasy
Reading time3 min
Reach and readers540

Recently, I needed to run a VLESS subscription on Windows, make it work with my work VPN, and deal with all the associated 'joys.' I tried v2rayN, Nekoray, and Hiddify—and quickly realized I wanted to write my own client.
And so, singbox-launcher was born:
👉 https://github.com/Leadaxe/singbox-launcher

Below are a few details about why and what came of it.

Read more

Installing macOS or How to Turn Your PC into a Hackintosh

Level of difficultyMedium
Reading time24 min
Reach and readers272

Hello, Habr!

I've been putting off writing this article for a long time, but the time has come.

There are quite a few materials on the internet about how to run macOS on regular, IBM-compatible PCs. Their problem is exactly the same as with Wine, which I also wrote my own article about - they are too... vague on the details of how to create an installation media and what to do after installation.

In this article, I will be following the guide from Dortania. There is a Russian version, but it's always older than the most current one, so I will use the original. I will also be taking some screenshots and links from there.

Before we begin, I'd like to enlighten those who are not aware of what a Hackintosh is.

A Hackintosh is the process of installing macOS on regular PCs. What's the difficulty?

All MacBooks use their own hardware (at least now, in 2025). They used to use different processors - in classic Macintoshes they used processors from Motorola. Later models featured processors from IBM PowerPC (during this period they were called PowerMacs). And in the early 2000s, Apple switched to Intel processors. It was during this period that the system we are most interested in appeared - OSX, later renamed to macOS.

Read more

Utilities for Customizing Windows

Level of difficultyEasy
Reading time6 min
Reach and readers1.2K

In this article, we will look at how you can customize Windows, adjusting the appearance and functionality of the operating system to your preferences. This can be done using both built-in tools and third-party programs.

When customizing Windows, it's important to remember that most third-party programs make changes to system files and the registry. This can lead to malfunctions, conflicts between utilities, and problems after operating system updates.

List of utilities that will be covered in this article: PowerToys, WinAero Tweaker, ExplorerPatcher, Rainmeter, TranslucentTB, EarTrumpet.

By the way, if you are interested in IT technologies and useful tools, check out my Telegram channel. I regularly post fresh news, life hacks, and other useful things there. And now, to the heart of the article.

Read more

BlueVein: How I spent a month to avoid wasting 56 hours a year reconnecting Bluetooth devices in dual-boot

Level of difficultyMedium
Reading time5 min
Reach and readers6.4K

Do you switch between Linux and Windows in dual-boot? Then you're probably familiar with this problem: you have to reconnect all your Bluetooth devices every time. Headphones, mouse, keyboard, gamepad — everything has to be reconnected.

It's scary to even think about it:
3 devices × 90 seconds × 3 switches per day × 250 days = 56 hours wasted per year.

I spent a month solving this problem and wrote BlueVein — a utility for automatically synchronizing Bluetooth keys between operating systems.

Read more

How to build and run calculator from Windows XP using GCC x64?

Level of difficultyHard
Reading time63 min
Reach and readers1.3K

Hi Everyone!

In this article we a little bit will analyze of code of Windows XP and will compile the calculator application using GCC x64 in Windows 10 environment. We will look what kind of errors I faced during the build and the methods how to solve them. At the end we will launch the build of the calc.exe application.

Have a nice reading!

Read more

Top 10 Best Free Partition Manager Software for Windows PC/Laptop

Level of difficultyMedium
Reading time12 min
Reach and readers6.5K

If you are searching for free partition manager software for your Windows PC, then Download the Top and best Partition Manager Software on Windows PC/Laptop.

It is a software program that lets us create, delete, shrink, expand, split, or merge partitions on our hard drives or other storage devices. Without extra software, a hard drive will be partitioned into Windows. But we can’t resize or combine them without any extra help.

The important aspect of owning a PC is to manage your hard-drive partitions very effectively. Based on categories, it divides data to allow people. For example, you can keep your multimedia files, work folders, and your programs in different partitions and install them on your system drive.

If you use your PC to double or triple-boot into various operating systems as a power user. Your SSD or HDD must be divided into smaller partitions; otherwise, it is impossible.

In 2020, in managing software partitions effectively. We help you with Windows and Linux by compiling a list of the best free partition software. So let’s read more to get the free partition manager Windows 10/8/7.

Read more

Audio API Quick Start Guide: Playing and Recording Sound on Linux, Windows, FreeBSD and macOS

Reading time35 min
Reach and readers27K

Hearing is one of the few basic senses that we humans have along with the other our abilities to see, smell, taste and touch. If we couldn't hear, the world as we know it would be less interesting and colorful to us. It would be a total silence - a scary thing, even to imagine. And speaking makes our life so much fun, because what else can be better than talking to our friends and family? Also, we're able to listen to our favorite music wherever we are, thanks to computers and headphones. With the help of tiny microphones integrated into our phones and laptops we are now able to talk to the people around the world from any place with an Internet connection. But computer hardware alone isn't enough - it is computer software that really defines the way how and when the hardware should operate. Operating Systems provide the means for that to the apps that want to use computer's audio capabilities. In real use-cases audio data usually goes the long way from one end to another, being transformed and (un)compressed on-the-fly, attenuated, filtered, and so on. But in the end it all comes down to just 2 basic processes: playing the sound or recording it.

Today we're going to discuss how to make use of the API that popular OS provide: this is an essential knowledge if you want to create an app yourself which works with audio I/O. But there's just one problem standing on our way: there is no single API that all OS support. In fact, there are completely different API, different approaches, slightly different logic. We could just use some library which solves all those problems for us, but in that case we won't understand what's really going on under the hood - what's the point? But humans are built the way that we sometimes want to dig a little bit deeper, to learn a little bit more than what just lies on the surface. That's why we're going to learn the API that OS provide by default: ALSA (Linux), PulseAudio (Linux), WASAPI (Windows), OSS (FreeBSD), CoreAudio (macOS).

Read more

Visual Studio 2022 — stylish and fresh. How PVS-Studio supported VS2022

Reading time7 min
Reach and readers1.7K

Seems like Microsoft has just announced Visual Studio 2022. And it already came out! For us at PVS-Studio, this meant only one thing — we must support this IDE in the next PVS-Studio release. Almost everything went smoothly. However, there were some hitches that we're going to discuss today.

Read more

Re-checking PascalABC.NET

Reading time8 min
Reach and readers1.1K

Welcome all fans of clean code! Today we analyze the PascalABC.NET project. In 2017, we already found errors in this project. We used two static analysis tools (more precisely, plugins for SonarQube): SonarC# and PVS-Studio. Today, we analyze this project with the latest version of the PVS-Studio analyzer for C#. Let's see what errors we can find today, especially when our analyzer has become more advanced and got new features: it can find more exquisite errors and potential vulnerabilities.


0912_PascalABCNET_2/image1.png

Read more →

Best warnings of static analyzer

Reading time3 min
Reach and readers1.2K

Everyone who runs the static analyzer on a project for the first time is slightly shocked by hundreds, thousands or even tens of thousands of warnings. It may be frustrating. Is my code so terrible? Or is the analyzer lying? In any case, filtering by the severity changes the situation, not completely though. That's why we thought about how we could improve the first experience with the analyzer. Let me show you the new feature step by step...

Read more

Why we need dynamic code analysis: the example of the PVS-Studio project

Reading time10 min
Reach and readers1K

In May 2021, CppCast recorded a podcast called ABI stability (CppCast #300). In this podcast, Marshall Clow and the hosts discussed rather old news — Visual Studio compilers support the AddressSantitzer tool. We have already integrated ASan into our testing system a long time ago. Now we want to tell you about a couple of interesting errors it found.


0868_PVS-Studio_ASan/image2.png

Read more →

Controlling Brushless Motors from Windows

Reading time4 min
Reach and readers1.9K

In this video, we will look at how to connect brushless motors to a Windows computer via USB. We are going to connect a network of Servosila brushless motor controllers to the computer. The other option is CANbus interface, but we will look at CANbus in a dedicated video. A regular USB cable is used. Note that the USB cable is not used to power the controller and its motor.

The first brushless motor controller in network appears to Windows as a Virtual COM port. Once connected via USB, it can be found in a general list of devices in the Window's "Settings" window. Up to 16 controllers can be connected this way via a single USB cable to the same control computer or a PLC. If one of the interconnected brushless motor controllers is connected to a computer via USB, then that particular controller becomes a USB-to-CANbus gateway for the rest of the network.

If your computer happens to have more that one serial port, you may wish to check a COM port's number assigned by Windows to the controller. Then, you pick this COM port in a drop down menu in the Servoscope software, and click Connect. If the COM port is not listed in the drop-down menu, click the Refresh button. If everything is good, the controller appears in a list of devices. Double-click to open up a control and configuration window.

Video & Read more

How WCF Shoots Itself in the Foot With TraceSource

Reading time11 min
Reach and readers1.3K

We don't often get the chance to write something on parallel programming issues. This time we "got lucky". The TraceEvent standard method has some implementation peculiarities. They resulted in an error with multiple threads blocking. So we'd like to warn users about this nuance and cover this interesting case from our users support practice. Why was our support involved? Keep reading to find out. Enjoy the reading!

Read more

What Is yield and How Does It Work in C#?

Reading time21 min
Reach and readers2.5K

C# capabilities keep expanding from year to year. New features enrich software development. However, their advantages may not always be so obvious. For example, the good old yield. To some developers, especially beginners, it's like magic - inexplicable, but intriguing. This article shows how yield works and what this peculiar word hides. Have fun reading!

Read more

Intercepting Program Startup on Windows and Trying to Not Mess Things Up

Reading time12 min
Reach and readers4K

Have you ever heard of Image File Execution Options (IFEO)? It is a registry key under HKEY_LOCAL_MACHINE that controls things like Global Flags and Mitigation Policies on a per-process basis. One of its features that drew my attention is a mechanism designed to help developers debug multi-process applications. Imagine a scenario where some program creates a child process that crashes immediately. In case you cannot launch this child manually (that can happen for various reasons), you might have a hard time troubleshooting this problem. With IFEO, however, you can instruct the system to launch your favorite debugger right when it's about to start this troublesome process. Then you can single-step through the code and figure what goes wrong. Sounds incredibly useful, right?

I don't know about you, but I immediately saw this feature as a mechanism for executing arbitrary code when someone creates a new process. Even more importantly, it happens synchronously, i.e., the target won't start unless we allow it. Internally, the system swaps the path to the image file with the debugger's location, passing the former as a parameter. Therefore, it becomes the debugger's responsibility to start the application and then attach itself to it.

So, are there any limitations on what we can do if we register ourselves as a debugger? Let's push this opportunity to the limits and see what we can achieve.

Read more

NTFS Reparse Points

Reading time8 min
Reach and readers2.9K
Hi, Habr. Here I have prepared for you a small guide about NTFS Reparse points (hereinafter RP). This article is for those who are just starting to dive into the Windows kernel drivers development. In the beginning, I will explain the theory with examples, then I will give an interesting task to solve.


Read more →