Showing tag results for Code

Feb 24, 2011
Post comments count0
Post likes count1

Shortcuts are serializable objects, which means that they can be stored in places other than just a file

Raymond Chen
Raymond Chen

It's true that the vast majority of the time, people consider the shell shortcut object as synonymous with the file it is normally saved into, shortcuts need not spend their time in a file. You can put a shortcut anywhere you can save a hunk of bytes. Here's a program that creates a shortcut to the file name passed on the command line (make sure ...

Code
Feb 21, 2011
Post comments count0
Post likes count1

If an operation results in messages being sent, then naturally the target window must be processing messages for the operation to complete

Raymond Chen
Raymond Chen

If an operation includes as part of its processing sending messages, then naturally the target window for those messages must be processing messages (or more precisely, the thread which owns the target window must be processing messages) in order for the operation to complete. Why? Because processing messages is the only way a window can receive me...

Code
Feb 18, 2011
Post comments count0
Post likes count1

WM_NCHITTEST is for hit-testing, and hit-testing can happen for reasons other than the mouse being over your window

Raymond Chen
Raymond Chen

The message is sent to your window in order determine what part of the window corresponds to a particular point. The most common reason for this is that the mouse is over your window. Although triggers most often for mouse activity, that is not the only reason why somebody might want to ask, "What part of the window does this point correspond...

Code
Feb 17, 2011
Post comments count0
Post likes count1

What is the highest numerical resource ID permitted by Win32?

Raymond Chen
Raymond Chen

A customer asked the following question: What is the maximum legal value of a resource identifier? Functions like take a as the resource ID, which suggests a full 32-bit range, but in practice, most resource IDs appear to be in the 16-bit range. Is there any particular history/precedent for avoiding large numbers as resource IDs? (I have a progr...

Code
Feb 15, 2011
Post comments count0
Post likes count1

Window message parameters do not come with metaphysical certitude

Raymond Chen
Raymond Chen

The MSDN documentation for window messages describes what each of the parameters means, but just because it means something doesn't mean that it is that something; it merely means it. But you knew this already. If you have a window handle, you can send it whatever message you like, with whatever parameters you like, even if those parameters contra...

Code
Feb 11, 2011
Post comments count0
Post likes count1

How do specify that a shortcut should not be promoted as newly-installed on the Start menu?

Raymond Chen
Raymond Chen

Windows XP employed a number of heuristics to determine which Start menu shortcuts should be promoted when an application is newly-installed. But what if those heuristics end up guessing wrong? You can set the property to to tell the Start menu, "I am not the primary entry point for the program; I'm a secondary shortcut, like a help file." ...

Code
Feb 9, 2011
Post comments count0
Post likes count1

Why does SHGetKnownFolderPath return E_FAIL for a known folder?

Raymond Chen
Raymond Chen

A customer reported having problems with the function. I've left in the red herrings. On Windows 7, I'm trying to retrieve the Internet folder with the following code: The call always fails with . What am I doing wrong? I tried passing as the token, but that didn't help. The reason the call fails has nothing to do with Windows ...

Code
Feb 7, 2011
Post comments count0
Post likes count1

The cursor isn't associated with a window or a window class; it's associated with a thread group

Raymond Chen
Raymond Chen

In my earlier discussion of the fact that changing a class property affects all windows of that class, commenters LittleHelper and Norman Diamond wanted to know "Why is the cursor associated with class and not a window?" This is another one of those questions that start off with an invalid assumption. The cursor is not associated with a class. ...

Code
Feb 4, 2011
Post comments count0
Post likes count1

Ready… cancel… wait for it! (part 3)

Raymond Chen
Raymond Chen

A customer reported that their application was crashing in RPC, and they submitted a sample program which illustrated the same crash as their program. Their sample program was actually based on the AsyncRPC sample client program, which was nice, because it provided a mutually-known starting point. They made quite a few changes to the program, but ...

Code
Feb 3, 2011
Post comments count0
Post likes count1

Ready… cancel… wait for it! (part 2)

Raymond Chen
Raymond Chen

A customer had a question about I/O cancellation. They have a pending call with a completion procedure. They then cancel the I/O with and wait for the completion by passing as the parameter to . Assuming both return success, can I assume that my completion procedure will not be called after GetOverlappedResult returns? It appears that GetOverl...

Code