Dispatching items collected from the suggestion box

Date:October 13, 2004 / year-entry #365
Tags:other
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20041013-00/?p=37583
Comments:    62
Summary:Okay, I got around to digging through the suggestion box, and today I'm going to dispatch the items that don't require much thought but seemed worthy of reply to some degree. You won't learn much of anything today. Topics I try to avoid "I would like to hear your opinion of the programming languages you...

Okay, I got around to digging through the suggestion box, and today I'm going to dispatch the items that don't require much thought but seemed worthy of reply to some degree. You won't learn much of anything today.

  • Topics I try to avoid

    "I would like to hear your opinion of the programming languages you have used."

    "What, in your opinion, is the strengths and weaknesses of the difference programming languages included in Visual Studio?"

    "What things do you wish had been added to Win32 that never were?"

    "What one thing do you believe should never have been added to Win32?"

    I try to avoid pure opinion pieces on technical matters. (Especially if they aren't funny.)

    "How is Microsoft working to eliminate the CRT-based 96dpi default setting in future versions of Windows?"

    "How has the command line evolved and where is it heading?"

    "How might Win32 evolve in the next version of Windows?"

    I try to avoid speculating about the future.

    "Do Microsofties keep their checkouts on their own hard drive, or do you have a home directory on a server?"

    "Does anyone ever get fired for making a mistake that costs everyone a lot of time and money?"

    I don't feel I have the authority to discuss this.

  • Topics that are outside my realm of expertise

    "How should I store a user's credentials securely?"

    "Sometimes when we query the SID of a computer we get back a blank SID."

    You want to ask a security person, like say Michael Howard.

    "Terminal Services sessions won't span more than 1 monitor. Any workarounds or suggestions?"

    This a question for the Terminal Services team.

    "Why is it so hard to make Windows Messenger go away?"

    Try asking the Windows Messenger team.

    "Why doesn't the Office/Visual Studio team release the code for their neato UI's."

    "How do I paste pictures into a Word document?"

    "How do I position page numbers in Word?"

    "Why does the VBA ROUND function differ from Excel?"

    I am not the Office or Visual Studio team.

    "So, I'm wondering who to go to talk about COM marshalling stuff."

    "What settings is Windows saving when it says it's saving your settings at shutdown/logoff?"

    "Why are mutexes internally known in Windows NT as "mutants"?"

    "Is there any way to shutdown USB device using keyboard instead of clicking on notification icon?"

    "Can you comment on the IXmlSerializable interface..."

    "A question about the windows networking system..."

    "Is there any good reason Windows hardly ever finds the CD drive, or whatever directory you've already specified 17 times has the drivers?"

    "How about when you make some very minor change in TCP/IP settings and Windows reinstalls about 34 .dll files that are already in System32?"

    "Why does my 200GB drive show up as 131GB?"

    "How do I install Message Queueing?"

    "How do I fix the error 'Visual Basic module is corrupt'?"

    "Why does Internet Explorer lose my status bar?"

    I have no idea. I have never worked on logon/logoff or COM marshalling or USB hardware or the CLR or networking or Plug and Play or backup... (Though for the status bar question, I have a wild guess which is likely to be completely wrong. If the last window you close is a pop-up ad with no status bar, then maybe it is that "no status bar" that is the one that ends up being saved as your preference. Just a wild guess.)

    "Why can't I customize X?"

    Every customization comes at a cost. The line has to be drawn somewhere.

  • Topics not of general interest (usually "please debug my computer")

    "Why does running MS Money make these shortcuts slow down to a crawl?"

    Sounds like something you should take up with the MS Money folks.

    "What's with that taskbar bug where you click the button for one window and another pops up right before it does?"

    I've never see this.

    "Why can't I rename My Computer?"

    "My Computer" renaming works for me.

    "In my program, I get an error resource not found."

    "I'm having a problem with backing up my computer."

    "I want to grep date or timestamp of files in UNIX through shell script where date format or timestamp is like 'Jul 9' or 'Jul 12'. In this where day is of single digit the space between month and day is 2 characters, but where day is of 2 digits the space is of 1 character."

    "I have a form that needs a date field to populate upon opening the file. Then the date will be used to generate a number for Tracking purposes. Then when the file is saved and e-mailed to the next person the date and number must remain fixed. What is the best way to set this up?"

    These questions aren't of general interest. One of them isn't even about Windows, and I don't understand that last one, but please, don't explain.

    "Help me get my iPod working."

    "Please translate this into German for me."

    "Please forward me some information as well as a demo and some samples of Blogs." (from a Fortune 500 company no less)

    "How do I take a screenshot of my Powerbook G4?"

    I am at a loss as to how I should respond to these requests.

  • Short answers

    "At one point with tab controls it was documented to let you set the color of the tab. Why was it removed?"

    You could do that? News to me.

    "Why do you make it so hard to properly create a replacement shell?"

    It's not that anybody makes it hard; rather that nobody goes out of their way to make it easy.

    "Why is explorer.exe monolithic? Why wasn't there a desktop.exe, taskbar.exe, etc?"

    Processes are expensive.

    "If a program has a dialog box open, why does Alt+Tab show the dialog box title, but Task Manager shows the application title?"

    Because Alt+Tab is for switching among windows. But Task Manager is for switching among applications.

    "What is the history of the "X" button?"

    Nothing earth-shattering. Studies showed that people didn't know how to exit programs, so some people sat down and tried to work out some universal symbol that would clearly indicate "Close".

    "Why can't you change the bitmap on the Start menu?"

    It's branding.

    "Why is it so hard to write a program that does gross things to Explorer?"

    Allowing other programs do gross things to Explorer wasn't on its list of design goals.

Other entries require more thought. Each non-code entry takes me a half hour or so, more if I have to do research (if somebody asks me a question outside my area of expertise and I feel like hunting for the answer), and the code entries require an hour and a half or more. Some of them take days. I think I spent three weeks on the dialog box template series, and about as much on the context menus. (And there are plenty of other series in various stages of completion.)

I don't get paid to do this. It's just a hobby. It's frustrating when people order you to spend more time on your hobby. And then when you decide it's too much and start closing comments to try to get some of your life back, people call you a coward and assume that you stopped for some nefarious reason. (Like when they say, "Look, Raymond closed comments as soon as people started asking embarrassing questions." But the comment timestamps prove otherwise. I closed comments weeks or months later.)


Comments (62)
  1. Ross says:

    Thanks for clearing that up.

  2. Matt C. Wilson says:

    So this is your recommended implementation of an IDispatchCrud interface for tech blogs? Interesting… :)

    I’m just glad my silly, highly specific and very low interest UI question from a few months ago didn’t make it onto the list. Thanks for keeping up the quality output Raymond – it’s been very helpful and entertaining.

  3. ChipH says:

    In some ways, Google has caused problems for blog owners and discussion forums. It allows someone to type in their problem: "I have a form that needs a date field to populate upon opening the file…" and they’ll post to the first discussion that looks like they might get an answer (or it, and the ten listed after it). The result is a lot of thread hijacking, off-topic posts, and newbies looking for a quick-fix solution.

    Chip H.

  4. David says:

    So Raymond, why is it that I can’t easily paste from my G5 to the Windows machine that I’m logged in to using the X11 rdesktop client?

    Just kidding. Thanks for all your work on this blog.

  5. OK, maybe this isn’t the best thread for another question but there is one answer I would like to see more detail on (sorry)…

    Why are processes expensive and how expensive are they? Windows seems to do a good job of sharing code segments between processes and the pre-fetch and disk cache can make process start up times reasonably fast. On the other hand there are a number of places where Microsoft has gone to a lot of effort to reduce the number of processes Windows uses (e.g. the Explorer / Taskbar noted above and keeping lots of the system services in one thread) and most Windows web servers use threads rather than processes for handling requests? I am not suggesting there is anything wrong with these components – I am just wondering what it is about processes that make them inappropriate for these tasks.

    Of course I don’t expect/need (or what ever the correct word is) an answer – it is just an area I was thinking you might be tempted to address in more detail.

  6. quanta says:

    I know how you feel. When dealing with large groups of people, there’s always the few who’ll abuse the host’s hospitality, either because they’re self-important or just ignorant.

    Your write this blog for yourself. You blog because it’s fun. When we are reading your blog, you are inviting us into your thoughts.

    On behalf of your loyal readers, thank you for your hospitality!

  7. David Candy says:

    Firstly I did a survey for MS tonight but IE stopped working about 20 minutes in. So please be nice to the research industry. I was nice to MS even though I know I’m unlikely to be able to complete such things due to buggy IE and buggy web servers.

    I just hope you tell others at MS what people are bitchin about.

    And I think that it’s good value.

  8. Cooney says:

    Well, firsst you go buy a digital camera…

  9. Ben says:

    Just thought I’d put myself in line to say…

    Great blog. Keep up the good work.

    Your information and humor often lightens up my day. (And I don’t even write C)

  10. Gene Cash says:

    Your explanations are absolutely fascinating and shed a lot of light for someone who’s not a total Windows expert, and I want to say thanks, too.

    As a UNIX/Linux weenie who’s done a little Windows coding, there are a lot of "ohhh, I see why that’s the way it is" moments for me. When you realize a lot is history/compatibility/when we only had 256k, some of the bizarre looking windows stuff makes a lot more sense. Of course none of the tech refs go into this, they’re tech refs, not history/philosophy books, and you end up a little frustrated.

    I’ve always wondered what Microsoft could do with a clean piece of paper and a fresh start. They’ve got a lot of talent working for them.

    I wish X Windows had COM. Sigh.

  11. Bryan says:

    About the replacement shell bit – there are just a few essential bits that aren’t documented.

    For example you need to figure out how SHAppbarMessage communicates with the shell. It’s about reading a contract from the other side, but it seems impossible unless you resort to disassembling. On Google Groups you may find that it uses WM_COPYDATA. Dunno how people figured that out. But the struct that is passed is still not documented. So even if you wanted to read the contract from the other side and try to implement it, you won’t succeed. The same is true, for example, for NIS_SHAREDICON.

  12. Phil Scott says:

    I think I know the answer to the IE status bar. If you go into just good ol’ Windows Explorer (which has no status bar by default), and then go into your tools to options, and then set all windows to display like the current one, IE for some reason decides you don’t want a status bar in IE either.

  13. mschaef says:

    Thanks!

    I can’t say that I’ve always made positive-about-Microsoft comments in your comment section, but I do very much appreciate your blog (as well as some of the struggles Microsoft has to deal with on a daily basis).

    "If you ever decide to take this site down please let us know so I can archive everything on it"

    Ditto. The Microsoft weblogs are by far the best thing to come out of the company since Visual Studio Intellisense, WinNT, and MSDN.

  14. Andrew says:

    "Why does my 200GB drive show up as 131GB?"

    This may be problem with the OS/bios not supporting 48-bit Logical Block Addressing. I’m sure there’s more info to be found elsewhere, but here’s one Knowledge Base article that discusses this issue:

    http://support.microsoft.com/default.aspx?scid=kb;en-us;305098

  15. Lonnie McCullough says:

    Hey Raymond. I really love your blog and think that you do a great job. You are among the most reliable bloggers at MSFT. Everyday I walk into work and the first thing I do is read your blog and you always have something interesting to read. I don’t know who is criticizing you for how you run your blog, but they are clearly in the wrong. Keep up the great work and don’t let the trolls get you down. There are so many people reading your blog and if only 5% of them posted comments or sent you mail you would be in for a world of hurt ;-). I do have one question tho: what team do you work on? I know that you have probably said it in the past but I can’t quite remember ( shell team? ). I think if you make it clear what your areas of expertise are then you may have fewer questions like the ones above ( tho it seems like you know a little about everything ). I think most people would willingly post questions in the appropriate place if only they knew where that was. It would be nice to see the blogs folks break things down by group or by area of expertise. Keep of the excellent work. I know it takes a lot of time out of your day, but you should know that its all worth it.

  16. Charlie says:

    Thanks for the daily dose of technical goodness.

  17. Miles Archer says:

    At least you don’t get questions like "how to get boys to like you" like one tech blog that I read. (I can’t recall which one and Google’s not much help)

  18. Hey Raymond…

    Don’t let the bastards grind you down :)

    Think of the weird demands about things outside of your balliwick as the thing that lets you know that your blog is popular – it means that you get a large influx of newbies who see "Hey! Knowledgable person! With obvious credentials going back YEARS!", and then go slightly nuts because this is the first time they’ve come across someone like that.

    That, and reading your blog is totally addictive.

    :)

  19. Matt G. says:

    I enjoy your blog quite a bit and always manage to glean something from most updates (though I’m still scared of COM to this day!). You should consider collecting all the historical tidbits concerning the Windows architecture into a book. You have an excellent writing style, especially for a blog.

  20. Rob says:

    Great blog Raymond.

    Are you allowed to talk about any of the common controls enhancements that will appear in Longhorn?

    Are you allowed to talk about features in the common controls that are not documented on MSDN (but programs like Explorer and IE use)?

  21. Jon Galloway says:

    Miles –

    That was Eric Lippert’s blog:

    http://weblogs.asp.net/oldnewthing/archive/2004/10/13/241725.aspx

    Raymond –

    I agree with Lonnie – to your readers, you appear to understand the entire works of Microsoft (collector’s edition). You seem to focus on GUI elements and legacy support issues in your blog. I think that’s why you’ve gotten so many product specific questions at the top of your list – those outside of MS don’t mentally separate products and platform, let alone segments of the platform.

    I’m encouraged to hear that this is time consuming for you, too. I spend hours on my posts and have gotten discouraged at times at how long it takes to translate my hundreds of "to post" items to actual HTTP form submit requests.

    Thanks again for sharing your time and knowledge with us. You join Sufjan Stevens on my hippest knitters list.

    Oh, and of course you can change your start button image with resource hacking although it’s probably a bad idea.

    http://www.neowin.net/forum/index.php?showtopic=216798&st=0

  22. Jon Galloway says:

    Oops, screwed up the link to Eric Lippert’s post on how to get boys to like you:

    http://weblogs.asp.net/ericlippert/archive/2004/08/27/221496.aspx

  23. <i>(Like when they say, "Look, Raymond closed comments as soon as people started asking embarrassing questions." But the comment timestamps prove otherwise. I closed comments weeks or months later.)</i>

    Wow…I must have really pinched a nerve.

  24. Raymond Chen says:

    More the straw that broke the camel’s back. You were hardly the first to say that.

  25. Jerry Pisk says:

    Jonathan – take a look at http://msdn.microsoft.com/library/en-us/dllproc/base/about_processes_and_threads.asp. Threads share virtual adress space and system resources. That’s why threads are less expensive than processes.

  26. Drew says:

    Larry Osterman gave history on mutex/mutant. Block-quoted from Helen Custers in this blog post:

    http://blogs.msdn.com/larryosterman/archive/2004/09/24/233969.aspx

  27. Nekto says:

    Thank you for your time spent on this hobby! :)

  28. Thierry Tremblay says:

    Raymond, I read your blogs everyday when I get in at work. For every negative comment you receive, 10 people like your web site (if not more). Unfortunately it’s the human nature not to express positive things as much as negative ones.

    Continue the good work/hobby, cause I know it is both.

  29. Merle says:

    I love this last one, Raymond:

    [quote]

    "Why is it so hard to write a program that does gross things to Explorer?"

    Allowing other programs do gross things to Explorer wasn’t on its list of design goals.

    [/quote]

  30. Salman Quazi says:

    … continue the wonderful work you are doing!

  31. AlisdairM says:

    Just a note to say thanks for a most excellent Blog.

    I appreciate it is just a hobby, and hope the more demanding audience members don’t ruin *your* enjoyment for the rest of us.

    I guess you don’t want to be flooded with fan-mail saying ‘thanks, well done’ either, but this seemed like a good time to say it <g>

  32. Wes Bigelow says:

    Hey Raymond,

    Just wanted to say that somehow you make reading technical material *enjoyable*. I’ll be reading your blog as long as you choose to keep doing it.

    Thanks for the little gems!

  33. Andy says:

    Raymond out of all the MS folks you have hands down the best blog. It would be a terrible shame if you were to ever quit blogging just because a few people made your hobby uncomfortable for you.

    I read your blog daily and greatly enjoy it. Please keep up the great effort. I hope it always remains fun for you.

  34. Mike says:

    Your hobby just happens to offer great insight into topics that benefit a large number of people of vastly varying levels of technical expertise. It sounds like some of your readers (most likely those on one end of the technical expertise scale) seem to think that this blog is some type of forced public service or something required of you by MS.

    Do it as long as *you* enjoy doing it and I can assure you that those of us who understand and appreciate what you’re offering here will continue to enjoy, learn from, and benefit from your generosity.

    p.s. If you ever decide to take this site down please let us know so I can archive everything on it. ;-)

  35. Raymond Chen says:

    "About the replacement shell bit … SHAppbarMessage…"

    Now you’re changing the subject. SHAppbarMessage is for Explorer appbars. If you write your own shell then you aren’t Explorer. Of course you can pattern *your* shell’s APIs against Explorer’s to make it easier for people to switch to your shell – then all you have to do is convince people to link to your shell’s DLLs instead of Explorer’s.

  36. ron says:

    great post. :-)

    and here is a freebie for you: you make a screenshot on a mac by pressing command+shift+3.

  37. A.Reader says:

    I read it just for kicks. It’s great. And I am not even Windows programmer!

  38. C says:

    Thanks for the excellent blog Raymond.

  39. Raymond has been referred to by more than one person internally as "A living encyclopedia of Windows history".

    He inspires most of the developers inside Microsoft, most of us aspire to be as talented as he is.

    And I’m not writing this to butter him up.

  40. Norman Diamond says:

    "Why is explorer.exe monolithic? Why wasn’t

    > there a desktop.exe, taskbar.exe, etc?"

    > Processes are expensive.

    Logging off and logging back on after explorer.exe dies is not a cheaper operation than having separate processes for desktop.exe, taskbar.exe, etc. If there existed a desktop.exe, taskbar.exe, etc. then a sufficiently experienced user could try running them and see if they bring back a missing taskbar or (if taskbar is there) missing notification icons etc. Running explorer.exe does run explorer.exe but doesn’t bring those things back.

    > "Why is it so hard to write a program that

    > does gross things to Explorer?"

    > Allowing other programs do gross things to

    > Explorer wasn’t on its list of design goals.

    Sure, but why does explorer.exe do gross things to explorer.exe? Even if desktop and taskbar can be considered related to an Explorer window, some other stuff that explorer.exe does is surely gross and not related.

    > It’s frustrating when people order you to

    > spend more time on your hobby.

    Yeah that’s a familiar experience, but some of the things you answered weren’t orders. Complaints (valid or not) are complaints and questions (valid or not) are questions. If someone sends you an order, like the one you mention from a Fortune 500 company, just send them a bill. Fortunately you’re in a position where you can send the bill in advance.

  41. Raymond, your blog rocks, and I read it every single day (well, except when I can’t get to a computer). Thanks a million for all the useful information, and don’t let a few complainers get you down! I’m sure 99.99% of the people that read your blog are very appreciative.

  42. If you get many more people asking about a explorer replacement you can send them here

    http://www.sky.franken.de/explorer/

    or here

    http://www.reactos.org

    We are working on a explorer.exe replacement that functions and looks like the Windows explorer. Its LGPL so they are free to hack all they want.

  43. JD says:

    Modified dialogue from ‘As Good as It Gets’,

    You make me want to be a better ‘programmer’.

    Raymond, your blog is simply awesome and I am sure it inspires lots of people, please never ever abandon this hobby of yours!

    Cheers!

    JD

  44. I guees I haven’t got anything new to add to this thread, but: I read your blog every day and I enjoy it very much.

    Don’t stop.

    Glenn

  45. Jack says:

    Don’t worry about what people say Raymond, keep up the good work, and remember to have fun! Life’s too short to worry about people trying to put you down.

  46. Mat Hall says:

    "What’s with that taskbar bug where you click the button for one window and another pops up right before it does?"

    I get this occasionally, and as yet haven’t been able to isolate the exact cause, although some programs seem to suffer from it more than others. (Outlook 98 suffers very badly, but it also has a whole range of focus issues so I suspect something’s deeply broken in it.)

    Anyway, your blog is probably my favourite of the MSFT ones I read regularly, so don’t get discouraged by the moron minority. (Eric Lippert and Larry Osterman are close behind, which I only mention as I know they read this. :)

  47. Ben Hutchings says:

    Mat: There are two cases I know of. One is where the application has a dialog open and the dialog is restored on top of it, but I don’t think that’s what the question about. The other one is where the taskbar button corresponds to a hidden window and the application forwards messages from the hidden window to a normal window without a taskbar button. Visual Studio does this for some reason, and there is a known bug in Visual Studio (or maybe in Windows) that causes the hidden window to appear sometimes; see <http://groups.google.com/groups?threadm=aJEWM3dLEHA.3900%40cpmsftngxa10.phx.gbl&gt;. Some of the Office apps do something similar as part of their fake SDI, and it’s conceivable that they suffer from a similar bug.

  48. Mike Dimmick says:

    Norman: missing notification icons are bugs in the applications that created them. If you create a notification icon, you should listen for the "TaskbarCreated" registered window message and recreate the icon if you get it. This only works in Windows 98 and higher, Windows 2000 and higher, and Windows 95 and NT 4.0 with the Shell Update installed – it was a new feature in IE 4.0. See http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_programming/taskbar.asp.

    This should be documented alongside the Shell_NotifyIcon function, however. If Explorer does crash, use the error reporting feature to report the crash to MS.

    Anyway, the decision to make Explorer monolithic was taken back in the design stages of Windows 95; modifying it now would mean extensive changes to the code with a high probability of introducing bugs with no benefit.

  49. Robert Moir says:

    I for one have learnt a lot of interesting snippets from your Blog Raymond, many thanks for the time you *do* choose to spend on this hobby.

    I feel guilty about not updating my website more often but its important to achieve a balance in life and if you end up getting so frustrated with something and the pressures behind it that you just give up then that helps nobody. You can’t maintain a sprinters pace the whole way if you’re running a marathon and I’m glad you know that you shouldn’t have to try.

  50. Jason says:

    Just one more voice to add: don’t listen to the detractors, just keep doing what you are doing. A lot of people – me included – are getting a lot of value out of what you do take time for.

    Thanks.

  51. Steve P says:

    I always thought that was just a technique to avoid comment spam!

  52. Shawn says:

    Raymond,

    Just wanted to say "Thanks!" for all the work you’ve done. I’ve only known about your blog for a couple of months but you’re definitely a "must-read".

    Please don’t let a few rotten apples ruin it for you (and by extension, the rest of us).

  53. Norman Diamond says:

    10/14/2004 6:05 AM Mike Dimmick

    > Norman: missing notification icons are bugs

    > in the applications that created them.

    OK, I believe you, but in my experience most of those "applications" are part and parcel of Windows (some of them being built into Windows even before Internet Explorer was).

    > If Explorer does crash, use the error

    > reporting feature to report the crash to MS.

    No kidding. Sometimes the error reporting feature doesn’t pop up though. I’ve never found any relationship to anything else going on at the time, to try to guess if the appearance or non-appearance of the error reporting feature was anything other than random. Also one time at a friend’s house when Explorer crashed about 30 times in a row I only sent around half of them to Microsoft.

    > Anyway, the decision to make Explorer

    > monolithic was taken back in the design

    > stages of Windows 95; modifying it now would

    > mean extensive changes to the code with a

    > high probability of introducing bugs with no

    > benefit.

    But Windows Explorer WAS modified when Microsoft decided that Internet Explorer would turn into an essential component of Windows 95. Yes the Shell Update was valuable, but the rest of the integration of IE did indeed introduce bugs with no benefit. Hmm, I wonder if I ever saw Windows Explorer crash in the original version of Windows 95, without IE…

  54. DrPizza says:

    ""What’s with that taskbar bug where you click the button for one window and another pops up right before it does?"

    I’ve never see this.

    "

    Make a window unminimizable (e.g. pop up a modal dialogue box in it).

    Hit "show desktop" (which, as we know, minimizes all windows and then brings the desktop to the top of the z-order).

    Click the taskbar button for an app other than the unminimizable app.

    What happens? First the desktop jumps to the bottom of the z-order, then the app you clicked restores itself. But because jumping to the bottom of the z-order reveals the unminimizable app, it appears that that window pops up right before. It’s not really popping up (it was always popped up, just hidden), but it appears that way.

    ================================

    ""Why can’t I rename My Computer?" "

    As you say, that works.

    But why can’t I rename the recycle bin except through registry hacking?

    ================================

    ""Why is explorer.exe monolithic? Why wasn’t there a desktop.exe, taskbar.exe, etc?"

    Processes are expensive."

    Not that expensive. Not any more. But the shell still crashes. And it’s infuriating.

    It’s doubly infuriating if you enabled "browse folders in new process".

    If you hit Win+E you don’t get a new process. If in the resultant window you click a folder to open it, a second explorer window opens to this folder; this window *is* a new process. Similarly Win+F.

    If you have custom folder icons set (for example, mine are brown instead of the default yellow folders), only the "shell" explorer.exe instance honours the settings. New processes get yellow folders.

    If you have a file browser open in a new instance and the shell crashes, the attempt to restart the shell fails. A new copy of explorer is loaded, but it loads as a file browsing instance, not a shell instance. You’ve got to kill all the file browser instances *then* restart the shell.

    Restarting the shell re-orders the taskbar buttons. I understand why it does, but it’s annoying nonetheless. Particularly since I can’t drag and drop taskbar buttons to reorder them myself.

  55. David Candy says:

    http://www.google.com.au/search?q=cache:z-nWpD-Qq-0J:blogs.msdn.com/aaron_margosis/archive/2004/07/24/195350.aspx+http://blogs.msdn.com/aaron_margosis/+candy&hl=en&lr=lang_en|lang_es

    This is where I list some testing showing the the new process rules are NOT followed by explorer, in fact it seems pretty random.

    I have to use google as his web page will not load and hasn’t for a few weeks.

    > And every time you create a rooted Explorer window with the /root, command line option (a.k.a., Explore from here), it gets its own, brand-new process.

    In experimenting I find All /root windows go into a third process not seperate processes most of the time.

    EG

    Start My Comp

    Start any number of /root from Start Run

    Max Process is 3

    and + but

    Start a /root from Start Run

    Start a second

    Max Process = 3

    Now start My Comp (from QL)

    Max Process = 3

    Start a /root

    Max Process = 4

    This is screwy. The rules don’t seem so simple.

  56. Raymond Chen says:

    /root changes the rules. It usually forces a new copy of explorer.exe (since you’re changing the namespace root). /root does not mean "Show me this directory tree only" – it actually changes the namespace in essential ways.

  57. Sriram says:

    Thanks for all the amazing posts Raymond. I’ve learnt more from your blog on Windows internals than most *official* sources – and the anecdotes show us that people actually exist behind the *Windows* brand.

    Don’t let these people get you down(and I know that I’ve been guilt of annoying you in the past as well :-) ).

    As for the mutant/mutex thing, I remember reading somewhere (was it Inside Windows 2000?) that it was a decision from Dave Cutler.

    From http://blogs.msdn.com/larryosterman/archive/2004/09/24/233969.aspx

    The name mutant has a colorful history. Early in Windows NT’s development, Dave Cutler created a kernel mutex object that implemented low-level mutual exclusion. Later he discovered that OS/2 required a version of the mutual exclusion semaphore with additional semantics, which Dave considered "brain-damaged" and which was incompatible with the original object. (Specifically, a thread could abandon the object and leave it inaccessible.) So he created an OS/2 version of the mutex and gave it the name mutant. Later Dave modified the mutant object to remove the OS/2 semantics, allowing the Win32 subsystem to use the object. The Win32 API calls the modified object mutex, but the native services retain the name mutant.

  58. "Don’t let the bastards grind you down :)"

    That’s a line from a (great) U2 song (Acrobat)…

    Anyway I must say I greatly enjoy your blog Raymond and I want to thank you for taking the time to write it.

    I’ve found much of the technical stuff to come in handy every now and then. I mean like your series on scrollbars which I just read through briefly when they where posted long ago, but had a reason to revisit like a month ago. But that’s not all, I often find myself looking through the archives here, thinking: "I know Raymond wrote about this, I just have to remember when…"

    Sorry for the buttery post but I feel this is the wrong time for a request…

  59. Matt says:

    It might have been easier to say what you will respond to…

    FTR (and I’m sure this will entirely ruin the credibility of this post and any other you have mad :)) you did once invite debate on sharing the Office UI when you mentioned an historical example of exactly that!

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index