Showing tag results for Code

Dec 31, 2010
Post comments count0
Post likes count2

What makes RealGetWindowClass so much more real than GetClassName?

Raymond Chen
Raymond Chen

There's and then there's . What makes more real? Recall from last time that the functions were added to support Windows accessibility. The goal with is to help accessibility tools identify what kind of window it is working with, even if the application did a little disguising in the form of superclassing. If you ask for the class name o...

Code
Dec 30, 2010
Post comments count0
Post likes count1

WindowFromPoint, ChildWindowFromPoint, RealChildWindowFromPoint, when will it all end?

Raymond Chen
Raymond Chen

Oh wait, there's also . There are many ways of identifying the window that appears beneath a point. The documentation for each one describes how they work, but I figured I'd do a little compare/contrast to help you decide which one you want for your particular programming problem. The oldest functions are and . The primary difference between the...

Code
Dec 29, 2010
Post comments count0
Post likes count1

Psychic debugging: When I copy a file to the clipboard and then paste it, I get an old version of the file

Raymond Chen
Raymond Chen

A customer reported the following strange problem: I tried to copy some text files from my computer to another computer on the network. After the copy completes, I looked at the network directory and found that while it did contain files with the same names as the ones I copied, they have completely wrong timestamps. Curious, I opened up the file...

Code
Dec 23, 2010
Post comments count0
Post likes count1

What is the correct way of temporarily changing a thread's preferred UI language?

Raymond Chen
Raymond Chen

A customer ran into a crashing bug in their shell extension. The shell extension wants to change the thread's preferred UI language temporarily, so that it can load its resources from a specific language. You'd think this would be easy: Approximately ten seconds after this code runs, Explorer crashes with the exception whose description is "A ...

Code
Dec 22, 2010
Post comments count0
Post likes count2

The __fortran calling convention isn't the calling convention used by FORTRAN

Raymond Chen
Raymond Chen

Although the Microsoft C compiler supports a calling convention called , that's just what the calling convention is called; its relationship with the FORTRAN programming language is only coincidental. The keyword is now just an old-fashioned synonym for . Various FORTRAN compilers use different calling conventions; the one I describe here appli...

Code
Dec 21, 2010
Post comments count0
Post likes count1

How do I simulate input without SendInput?

Raymond Chen
Raymond Chen

Michal Zygmunt wants to create a system where multiple applications can have focus, with different users generating input and directing them at their target applications. Attempting to simulate this by posting input messages didn't work. "Can you tell us maybe how SendInput is internally implemented so that we can use it to simulate only part of...

Code
Dec 20, 2010
Post comments count0
Post likes count1

Developing the method for taking advantage of the fact that the OVERLAPPED associated with asynchronous I/O is passed by address

Raymond Chen
Raymond Chen

You can take advantage of the fact that the associated with asynchronous I/O is passed by address, but there was some confusion about how this technique could "work" when kernel mode has no idea that you are playing this trick. Whether kernel mode is in on the trick is immaterial since it is not part of the trick. Let's start with a version ...

Code
Dec 17, 2010
Post comments count0
Post likes count2

The OVERLAPPED associated with asynchronous I/O is passed by address, and you can take advantage of that

Raymond Chen
Raymond Chen

When you issue asynchronous I/O, the completion function or the I/O completion port receives, among other things, a pointer to the structure that the I/O was originally issued against. And that is your key to golden riches. If you need to associate information with the I/O operation, there's no obvious place to put it, so some people end up doi...

Code
Dec 16, 2010
Post comments count0
Post likes count1

Why does SHCOLUMNINFO have unusually tight packing?

Raymond Chen
Raymond Chen

Alternate title: News flash: Sometimes things happen by mistake rbirkby asks why the structure has 1-byte packing. "Was the expectation that there would be so many columns in a details view that the saving would be worthwhile?" Hardly anything that clever or ingenious. It's just the consequence of a mistake. When the structure was added t...

Code
Dec 15, 2010
Post comments count0
Post likes count1

There is no interface for preventing your notification icon from being hidden

Raymond Chen
Raymond Chen

Yes, it's another installment of I bet somebody got a really nice bonus for that feature. A customer had this question for the Windows 7 team: Our program creates a notification icon, and we found that on Windows 7 it is hidden. It appears properly on all previous versions of Windows. What is the API to make our icon visible? First of...

Code