Showing archive results for 2013

Aug 26, 2013
Post comments count0
Post likes count1

The challenge of improvisational historical comedy

Raymond Chen

I dreamed that one of my friends signed me up for some sort of combination Punk'd/Thank God You're Here improv show without my knowledge, and I had to explain how her husband had unwittingly coined some nonspecific Internet meme.

Non-ComputerDream
Aug 26, 2013
Post comments count0
Post likes count1

Why doesn't the "Automatically move pointer to the default button in a dialog box" work for nonstandard dialog boxes, and how do I add it to my own nonstandard dialog boxes?

Raymond Chen

The Mouse control panel has a setting called Automatically move pointer to the default button in a dialog box, known informally as Snap to default button or simply Snap To. You may have discovered that it doesn't work for all dialog boxes. Why not? The Snap To feature is implemented by the dialog manager. When the window is shown and the setting...

CodeTips/Support
Aug 23, 2013
Post comments count0
Post likes count1

If I attach a file to an existing completion port, do I have to close the completion port handle a second time?

Raymond Chen

There are two ways of calling the function. You can pass a null pointer as the parameter, indicating that you would like to create a brand new completion port, associated with the file handle you passed (if you passed one). Or you can pass the handle of an existing completion port, and the file handle you passed will be associated with that por...

Code
Aug 22, 2013
Post comments count0
Post likes count1

All I/O on a synchronous file handle is serialized; that's why it's called a synchronous file handle

Raymond Chen

File handles are synchronous by default. If you want asynchronous file handles, you need to pass the flag when you create the handle. And all operations on a synchronous file handle are serialized. You'd think this was a simple and obvious rule, but "Someone" finds it "very surprising that operations can block which only handle file metadata." I...

Code
Aug 21, 2013
Post comments count0
Post likes count1

Adding a confirmation dialog to every drag/drop operation does not solve the problem

Raymond Chen

A customer wanted to know how to enable a confirmation dialog whenever the user inadvertently perform a drag/drop operation in Explorer to move files within a volume. For example, if I have an S drive mapped to \\server\share, I would like to display the confirmation dialog when users inadvertently drag and drop a file or folder within the S drive...

Tips/Support
Aug 20, 2013
Post comments count0
Post likes count1

Microspeak: The train

Raymond Chen

Hop on board, don't be late, or you'll have to catch the next one.

OtherMicrospeak
Aug 19, 2013
Post comments count0
Post likes count1

A dream about forgetting to deploy the backup brake pads

Raymond Chen

I dreamed that that I was driving through a parking garage when my brakes suddenly failed. I tried executing turns to bleed off speed, but it was largely ineffective. I managed to avoid hitting a parked police car (which had arrived to investigate some other accident), but was unable to avoid another parked car. An insurance adjuster who was on th...

Non-ComputerDream
Aug 19, 2013
Post comments count0
Post likes count1

The tiny table sorter – or – you can write LINQ in JavaScript

Raymond Chen

I had a little side project that displayed status information in a table, and I figured, hey, let me add sorting. And it was a lot easier than I thought. I just put the header row in the and the table contents in the , then I could use this code to sort the table: Each cell can have an optional custom attribute which specifies how the item sh...

Code
Aug 16, 2013
Post comments count0
Post likes count1

If I signal an auto-reset event and there is a thread waiting on it, is it guaranteed that the event will be reset and the waiting thread released before SetEvent returns?

Raymond Chen

Let's go straight to the question: I have two programs that take turns doing something. Right now, I manage the hand-off with two auto-reset events. In Thread A, after it finishes doing some work, it signals Event B and then immediately waits on Event A. Thread B does the converse: When its wait on Event B completes, it...

Code
Aug 15, 2013
Post comments count0
Post likes count1

How do I control the order of the pages in property sheets from my shell extension?

Raymond Chen

A customer wanted to know whether a shell extension can control the order of the property sheet pages in a property sheet. The interface lets you add pages and replace pages, but nothing about rearranging them. Naturally a shell extension can control the relative order of its own pages (by changing in the order in which it calls ) but how can it...

Code