Quantcast
Channel: The Old New Thing
Browsing all 3085 articles
Browse latest View live

So, um, what are we looking at?

Some of my relatives from Vancouver, British Columbia enjoy going on cruises. During one cruise along the Alaska coast, they found a large number of passengers gathered on the viewing deck and gazing...

View Article


How can I programmatically inspect and manipulate a registry hive file...

Say you have a registry hive file. One way to inspect and manipulate its contents is by calling the Reg­Load­Key function to mount it in the registry and then use the normal registry operations. This...

View Article


Why does Windows ask me to pick a program with which to open a file, even...

So you're working at your computer, everything is humming along just fine, and then when you double-click a file, instead of launching the associated application, Windows asks you what program you...

View Article

What does the “Ae” stand for in AeDebug?

The name of the registry key for configuring automatic debugging of application crashes is AeDebug. Okay, so it's obvious what "Debug" stands for, but what does "Ae" stand for? I can't prove it, but...

View Article

After reporting a non-responsive program to Windows Error Reporting, why does...

A customer observed that when they try to close a program as not responding, Windows Error Reporting kicks in, which is not unexpected. But what is unexpected is that a new process is created that is...

View Article


File-extending writes are not always synchronous, which is entirely within...

I noted some time ago that the current implementation of NTFS forces certain kinds of writes to be synchronous, even when issued asynchronously. Note that this is an implementation decision which is...

View Article

Why does the Entry Point Not Found error dialog sometimes not include the...

A customer observed that sometimes the Entry Point Not Found error dialog does not include the name of the missing entry point. Usually, it looks like this: Contoso.exe - Entry Point Not Found ⊗ The...

View Article

Adding a Ctrl+arrow accelerator for moving the trackbar by just one unit,...

When you create a trackbar common control, you can specify how far the arrow keys will change the trackbar position (default: 1 unit) and how far the PgUp and PgDn keys will change the trackbar...

View Article


Adding a Ctrl+arrow accelerator for moving the trackbar by just one unit,...

Last time, we looked at how we could add support to the trackbar so that Ctrl+arrow moved the thumb by one unit, even if the line size was set to a larger value. We tried doing this by subclassing the...

View Article


How do I prevent users from using the mouse to drag the trackbar thumb to...

A customer had a trackbar common control, set the range to 0–100, set the line size to 5 (so that pressing an arrow key moves the thumb by five units), and set the page size to 20 (so that pressing...

View Article

How do I prevent users from using the mouse to drag the trackbar thumb to...

Last time, we investigated one approach to the problem of keeping a trackbar position on multiples of five: Just divide everything by five! (And then multiply by five when you read the value.) This...

View Article

The case of the oplock deadlock poppycock

A customer reported that their application would sometimes hang trying to open a file. The call to Create­File would simply hang, rather than failing with ERROR_SHARING_VIOLATION or some other error...

View Article

What happened to the Arial Unicode MS font?

A customer wanted to know what happened to the Arial Unicode MS font. It used to be installed with Microsoft Office, but was dropped starting with Microsoft Office 2016. Various conspiracy theories...

View Article


Image may be NSFW.
Clik here to view.

Dulce et decorum est pro patria party

On April 2, 1996, at the then-named Computer Game Developers Conference, Microsoft introduced DirectX 2.0 to great fanfare. And by great fanfare, I mean "ridiculous fanfare." Read Jay Barnson's...

View Article

If the prototypes of DispatchMessageA and DispatchMessageW are identical, why...

There are a number of functions, mostly in the window manager, which have both ANSI and Unicode variants, even though the prototypes are identical. LRESULT WINAPI DispatchMessageW(const MSG*); LRESULT...

View Article


In the state of Washington, you are allowed to turn left on a red light onto...

A little-known quirk of the driving laws in the state of Washington is that, after coming to a complete stop, you are allowed to turn left on a red light onto a one-way street. Are left turns on red...

View Article

Image may be NSFW.
Clik here to view.

Why does the MonthCalendar control show the wrong week numbers in Romania?

A customer liaison reported that the MonthCalendar control was showing incorrect week numbers when run on a Romanian system. They included screen shots of the calendar control running on a German...

View Article


Sure, you can implement your own cryptographic service provider for a...

A customer wanted to write their own custom implementation of an existing standard encryption algorithm. The customer liaison noted that this custom implementation would presumably produce results...

View Article

Dubious security vulnerability: A program that adds a user to the...

A security vulnerability report indicated that Windows was vulnerable to having a user added to the Administrators group. The finder attached a program demonstrating the issue. (To make things more...

View Article

Using linker segments and __declspec(allocate(…)) to arrange data in a...

You can declare a section and then start generating data into it. #pragma section("mydata$a", read, write) __declspec(allocate("mydata$a")) int i = 0; #pragma section("mydata$b", read, write)...

View Article
Browsing all 3085 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>