The Windows Source Code Revealed: Task Manager (E01)

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024
  • The original author of Windows Task Manager takes you on an authorized tour of the Windows source code behind the XP Task Manager. For information on my book, Secrets of the Autistic Millionaire: amzn.to/45ZzcFW
    Windows code provided courtesy of Microsoft Corporation; this code is NOT open source and it remains Microsoft copyrighted material, used with permission.

ความคิดเห็น • 890

  • @gothikia
    @gothikia ปีที่แล้ว +993

    This is what I love about the internet. I was 9 years old when I got to use Task Manager for the first time in 1995 and here we are, almost 30 years later, watching the esteemed author of an application who came to my aid so many times, walking me through the code of the aforementioned application. Its also reassuring that I also name stuff after me in the code when subclassing.

    • @GasssFreak
      @GasssFreak ปีที่แล้ว +42

      In a modern company you'd just get a code review comment every time you did that.

    • @skywizard3319
      @skywizard3319 11 หลายเดือนก่อน +3

      I was being born when they shipped

    • @竜肝油
      @竜肝油 11 หลายเดือนก่อน

      subclassing lol

    • @victorgarcia3526
      @victorgarcia3526 11 หลายเดือนก่อน

      Omg thirty years, that hurted...

    • @ducpaii
      @ducpaii 10 หลายเดือนก่อน +4

      tragic windows now is just a massive data farm and not a good os ):

  • @deldrinov
    @deldrinov ปีที่แล้ว +47

    "With Microsoft's permission"
    "Windows XP version"
    Yeah, we've seen it

    • @Akrucious
      @Akrucious 4 หลายเดือนก่อน

      lol troo

    • @markusTegelane
      @markusTegelane หลายเดือนก่อน

      even though it's leaked, it's still illegal to distribute it without permission, because copyright (which this video is technically doing)

    • @Akrucious
      @Akrucious หลายเดือนก่อน

      @@markusTegelane It's in the name, copyright, he didn't share a copy of the actual data that Microsoft owns, they shared a video, it's not the same binary data nor is streamed content copied to machines storage device.

  • @RobertM125
    @RobertM125 ปีที่แล้ว +160

    In high school many years ago my computer science teacher told us that if anyone used a global variable in our code, he would put a red F on our printout with such force that the next three printouts below ours would lose credit. I still tremble when I really need a global variable today.
    Great video as always. Thank you so much for this walk through for a program I have needed so many times.

    • @nwrocketman6438
      @nwrocketman6438 ปีที่แล้ว +10

      I had a similar thing in college. It was a rule in my first C++ class to not have any global variables.

    • @Noricavus
      @Noricavus ปีที่แล้ว

      Don't remember globals being a big issue as much as using goto. If you used it...fail.

    • @arthurmoore9488
      @arthurmoore9488 11 หลายเดือนก่อน

      @@acacac557 Too true. The problem is that CS (and Computer Engineering) degrees never bother to teach what time is appropriate. My other main complaint is the data structures courses never bother to even tell students to just use a library. I've had to maintain "professional" applications made for the government with custom linked list implementations. With the application being written using C++ in 2015!

    • @alang.2054
      @alang.2054 11 หลายเดือนก่อน

      ​@@acacac557yes there is place to use them - right after "//"

    • @rand0mtv660
      @rand0mtv660 11 หลายเดือนก่อน +29

      And then you step out into the real world and realize code is not perfect and you will do things that you were advised against in college or any book/tutorial etc. Sometimes you just need to get stuff done and will twist "best practices" in order to achieve what you need.

  • @zfloflo
    @zfloflo ปีที่แล้ว +155

    Wonderful!
    Yes, please, keep it coming...
    I can't wait to watch the next part.
    Thank you for taking the time to show this code.
    It's literally like opening a time capsule!
    And please pass my thanks to MSFT for allowing you to do it. Greatly appreciated!

    • @mykyta1235
      @mykyta1235 ปีที่แล้ว

      no, noone will ever pass anything from you.

    • @delian66
      @delian66 ปีที่แล้ว +7

      @@mykyta1235 why do you have to write this? Are you ok?

    • @AliceErishech
      @AliceErishech ปีที่แล้ว +5

      @@delian66Some people just can't refrain from being insufferable.

    • @Bittboy
      @Bittboy ปีที่แล้ว

      ​@@mykyta1235Peter Noone sucks anyways.

  • @Rinue2
    @Rinue2 ปีที่แล้ว +966

    Fantastic review and it's interesting to see behind code :) On another note the cam auto zoom was a bit too aggressive for me and caused some motion sickness.

    • @SirkyNL
      @SirkyNL ปีที่แล้ว +53

      Sad to see the camera zoom indeed! im a bit dizzy after a minute of watching closely

    • @at3o
      @at3o ปีที่แล้ว +55

      He turns it off at 9:32 😎

    • @robbybobbyhobbies
      @robbybobbyhobbies ปีที่แล้ว +11

      I was getting Wayne’s World vibes

    • @SirkyNL
      @SirkyNL ปีที่แล้ว +3

      @@at3o 🙏🏼

    • @jonnyphenomenon
      @jonnyphenomenon ปีที่แล้ว +13

      I came here at 4:43 to comment on this. Haha I am SO distracted by the zooming!

  • @bluescreenenjoyer
    @bluescreenenjoyer ปีที่แล้ว +97

    This is really great, I love to see how core windows stuff works, especially because it seems like talented programmers were able to bake in so many features that needed so little resources. Please keep this series up.

    • @axelriet
      @axelriet 7 หลายเดือนก่อน

      This is great code but by no means « core Windows stuff » 😊

  • @LaurenceHartje
    @LaurenceHartje ปีที่แล้ว +80

    Dave, as a long time viewer/lurker of your channel, a Windows 3.1 MCP and currently working as a software engineer - this is one of my favorite videos that you have done. I've only written a few projects in Windows C (being lucky that I could leverage the benefits of C# for most of my professional career), but this was an amazing walk through the task manager code and I look forward to the follow up videos.

    • @meerkatpowergaming9412
      @meerkatpowergaming9412 11 หลายเดือนก่อน +3

      I appreciate how far C# has come from the early days of C#. I am happy to say its my favorite language.

  • @boydpukalo8980
    @boydpukalo8980 ปีที่แล้ว +20

    Really fascinating seeing actual source code of a program I have used for decades and which has brought system back from near death experiences. Looks like straight Win32, no MFC, or newer frameworks so far. I look forward to the next installment.

    • @1971merlin
      @1971merlin ปีที่แล้ว +3

      It's straight win32. Dave says so numerous times. Any dependencies outside itself simply lower reliability (eg if the problem is the framework itself).

    • @harleyspeedthrust4013
      @harleyspeedthrust4013 11 หลายเดือนก่อน +2

      straight win32 is the best

  • @TheMasonX23
    @TheMasonX23 ปีที่แล้ว +21

    Please make a part two! I'm working on improving our system performance logging and display, so it would extra cool to see how you accomplished that back in the day. Keep up the great work man!

    • @khuntasaurus88
      @khuntasaurus88 ปีที่แล้ว +1

      What exactly is slowing you down? I'm sure we could do community code support seeing as most people watching this are devs 😂

  • @JonC341
    @JonC341 ปีที่แล้ว +6

    The more I try to keep up with the code, the more I realize that for many today, including myself, it would be hard to make so many functions and get so many resources without breaking something or a size requirement. Dave you are and will always be a computer hero!!!!

    • @nickwallette6201
      @nickwallette6201 11 หลายเดือนก่อน +1

      Eh, even Task Man wasn't written and compiled in one go. :-) Sometimes you have to rough in the guts, and then go back and include the error checking, i18n, and security checks you didn't remember the first time.

  • @erc0re526
    @erc0re526 ปีที่แล้ว +10

    Videos like these are priceless, we get too see how critical programs we all used (and still use) were written and designed and *why* things were done a certain way! Please keep those going!!

    • @Margen67
      @Margen67 6 หลายเดือนก่อน

      Penguins need HUGS

  • @shannahsantucci3017
    @shannahsantucci3017 4 หลายเดือนก่อน +1

    Small pro-tip: If you click a function (or method) call while pressing “Control” (or “Command” on Mac), you will go to their definition. This will avoid you right-clicking everything.
    Amazing video!

  • @MrMcyeet
    @MrMcyeet ปีที่แล้ว +18

    Very interesting video as usual Dave!
    Some feedback though, I found the camera constantly zooming in and out somewhat distracting.
    In my opinion, it would have been better to have the camera just be static.
    Edit: Just got to the part of the video where you disable that lol.

    • @Those2menoverthere
      @Those2menoverthere ปีที่แล้ว

      @@glennchugg6015don’t let the door hit you on the way out.

    • @rcjp
      @rcjp ปีที่แล้ว

      Made me feel ill just trying to watch it. Shame, its interesting stuff.

  • @JamieKitchens6
    @JamieKitchens6 ปีที่แล้ว +14

    This is just simply amazing information to take in. Thank you Dave for always bringing the good stuff.

  • @KlasNyman
    @KlasNyman ปีที่แล้ว +3

    Charles Petzold, what a legend! My first of his books was 'Programming the OS/2 Presentation Manager', taught me a lot!

  • @pixelpoppyproductions
    @pixelpoppyproductions ปีที่แล้ว +3

    I really appreciate the task kill shell commands you added back in the day. That is the kind of feature that can be built onto years later.
    I work in civil engineering (not software), and being able to kill any Windows process via shell commands really helped me improve the reliability of a software service I developed that my department depends on for their daily work.
    It probably seems dumb to software engineers, but for someone who just needs to get stuff done - it’s a big deal.
    That feature means I can go on a vacation without having to physically log into a machine - personally - to reset a misbehaving program. I can automate it and the users have no idea what happened. It just works!

  • @Intermernet
    @Intermernet 11 หลายเดือนก่อน +4

    Definitely continue this series! It's rare to see actual performance hacks in internal code. The code may be old, but the tips and hints are transferable to modern code.

  • @ThatOneRei
    @ThatOneRei 11 หลายเดือนก่อน +2

    This is the type of content I love seeing as a computer science student and that I wish I saw in my classes. Your way of talking and explaining is so easy to digest, thank you.

  • @greennin
    @greennin 11 หลายเดือนก่อน +5

    Dave, I just wanted to say, there are some great lawyers on youtube, there are some great doctors, and there are some great scientists in many subjects.
    Among computer scientists you are right up there with the best of your field. The platform is strong because of people like you. Videos from true experts in their fields are invaluable. TH-cam owes you people everything.

    • @LuLeBe
      @LuLeBe 10 หลายเดือนก่อน

      I think TH-cam owes 90% of their revenue to product reviewers (not the in depth ones, but the sponsored ones) and mainly lifestyle vlogging content. It’s a shame, but that’s how it is. Just log in to TH-cam from an incognito tab and see what crap is on the frontpage.

    • @greennin
      @greennin 10 หลายเดือนก่อน

      @@LuLeBe yeah i've checked in incognito before. it's scary what the mainstream watches lol

    • @anarkidude9360
      @anarkidude9360 10 หลายเดือนก่อน

      @@LuLeBeContent promoted on the main page , from not logged account: 90% fake people, showing their fake asses , boosting of their fake online existence? It hurts my eyes.

  • @franciscovarela7127
    @franciscovarela7127 ปีที่แล้ว +5

    Ah, Windows SDK programming. The big switch, a dog-eared copy of Petzold, MSDN on CD's and lots of coffee...those were the days. Then MFC, an abstraction that was easier to use but not as much fun. Thanks for this code walk-through. Please do continue, always interesting to see a competent developer's code.

  • @ignaciosanmartin2143
    @ignaciosanmartin2143 9 หลายเดือนก่อน

    Programmers like you are an inspiration. The fact that you come from a time when programmers had to study and understand complex concepts from books is awesome.

  • @my-king
    @my-king ปีที่แล้ว +2

    This is great. Its insane how much i used this. Back in 95/98/2000/XP it became something I became very comfortable with and the amount of control itd give me was really nice.

  • @bas8036
    @bas8036 ปีที่แล้ว +471

    Uff that auto cam zooming is extremely annoying and really distracting from the otherwise awesome video

    • @Niekpas1
      @Niekpas1 11 หลายเดือนก่อน +7

      Agree

    • @IBeAWizard24
      @IBeAWizard24 11 หลายเดือนก่อน +45

      9:19

    • @midas6659
      @midas6659 11 หลายเดือนก่อน +12

      Oh lighten up ya wuss @bas8036

    • @mattwilder132
      @mattwilder132 10 หลายเดือนก่อน +49

      ​@@midas6659it's valid feedback 🤔 not sure why that makes them a wuss. Maybe you should stop projecting your insecurities

    • @matthewbrightman3398
      @matthewbrightman3398 10 หลายเดือนก่อน +1

      Came here to say the same thing. Unwatchable

  • @saymehname
    @saymehname 4 หลายเดือนก่อน

    I love these code reviews, and especially since this is your own work almost 30 years ago!

  • @NytronX
    @NytronX 11 หลายเดือนก่อน +4

    I love that he's using MacOS to show Windows source code.

  • @MehYam2112
    @MehYam2112 4 หลายเดือนก่อน

    This was more fun than it had any right to be, really brought me right back to my days coding Windows apps. Your code was very clean and easy to follow.

  • @traida111
    @traida111 11 หลายเดือนก่อน

    its like an old song, that still holds up in current times. what a beast of a developer you are man

  • @TehPwnerer
    @TehPwnerer ปีที่แล้ว +2

    The way you brush over the sharp stick and eyes comment is beautiful

  • @paulscarlett4346
    @paulscarlett4346 ปีที่แล้ว +3

    Truly enjoying this code review - any chance of spinning up XP and seeing it in action -- as a way to show the code and what it is actually handling -- As a long time VB dev - started with VB 1 and VB dos - rarely got down to this level in the Win 32 API and related code. Many thanks for the effort of getting source and MS permission to review -- speaks of changes at MS toward open source (sorta)

    • @nickwallette6201
      @nickwallette6201 11 หลายเดือนก่อน

      I wonder if, some day, we could get the activation lock turned off on XP? I know there's a potential threat that some people would then _use_ it, because it might still be useful enough to get away with doing that. But I just want to play with old computers.

    • @PopeCromwell
      @PopeCromwell 11 หลายเดือนก่อน

      @@nickwallette6201 The activation master key and algorithm have been decrypted, it is now possible to 'roll your own' telephone activation. Just a matter of looking in the right places

  • @jwc4520
    @jwc4520 ปีที่แล้ว +1

    I liked XP , had a comfortable feel and just enough buttons and bells. Software of the time likewise had limited buttons which was much easier to remember. Did a lot of restoring old brown type photos. The deep emulsion use captured many details scanned at high resolution then broken into colors, each sharpened, reunited and bingo all the lost details background items . It was fun . Thanks Dave.

  • @imrealrage
    @imrealrage 11 หลายเดือนก่อน +1

    It's so great to see a legend reviewing a legendary piece of code that we always saw and will see. Thanks....

  • @lonniebiz
    @lonniebiz 11 หลายเดือนก่อน +1

    Dave, I don't use Microsoft myself anymore, but I did at the time you were working there. I've enjoyed your channel. You're a bright guy and do a good job on your videos.

  • @killerpixel2k3
    @killerpixel2k3 ปีที่แล้ว +1

    I love the random windows keyboard shortcuts I learn aside from all the other things I learn!
    Also thank you for your book! I have to say it felt quite disturbing reading a diary I never wrote! Got a diagnosis and your book has helped me greatly in coming to terms with things not just being my quirky personality!

    • @DavesGarage
      @DavesGarage  ปีที่แล้ว +1

      Wow, glad you found it useful!

  • @michaeljaques77
    @michaeljaques77 ปีที่แล้ว

    Dave, I noticed a couple of verbal phrases that make me think you are Canadian, the number 1 being your sign off "In the mean time and in between time"
    That was sign off of legendary Stampede Wrestling announcer Ed Whalen. "In the mean time, and in between time, that's it for another edition of Stampede Wrestling."
    If you are, know that that phrase brings back fond memories of my childhood :)

  • @Endelin
    @Endelin ปีที่แล้ว +1

    "Windows does some fancy focus management" while your camera is doing the wildest zoom management I've ever seen 🤣. Thanks for sharing some content that only you could Dave 👍.

  • @timeimp
    @timeimp ปีที่แล้ว

    "commit seppoku" I think Dave is incredibly... internet experienced. Thank you _so much_ for walking through this code with us Dave!

  • @JacGoudsmit
    @JacGoudsmit ปีที่แล้ว

    Thanks for turning that tracking off on that gimbal camera. I would not have watched it to the end if you had left that on.
    This is great stuff. I hope you'll look into the bugbug to see if it's actually a bug and to show us what it will look like, once fixed (if needed).
    Also glad to see I'm not the only one who prefers cascaded "if (everything is okay) do the next init step" and at the end "if (this is initialized) tear it down" style of coding. I learned it while I was working at ASML where the main function of the program had so much initialization that it ran into a compiler bug, where the optimizer was changing all the branches to go to the bottom of the function, and the branch distance for the earliest "if (everything is okay)" ended up being too big to fit in the instruction. Good times! Apparently the writers of the compiler (or optimizer) didn't count on long lists of "if (everything is okay)" coding.

  • @Californ1a
    @Californ1a 11 หลายเดือนก่อน +1

    It would be really neat to see a series recreating the task manager, showing all the changes you'd do differently these days vs what was written back then, and the actual development process, testing, debugging, and such.

  • @eplazai
    @eplazai ปีที่แล้ว +1

    Hey. I see no comments telling how cool was Microsoft authorizing to show us the source. Thanks Dave!

    • @DavesGarage
      @DavesGarage  ปีที่แล้ว +2

      I was blown away too, and am very appreciative... it was one of those long shots!

  • @EdilbertoAriasRolon
    @EdilbertoAriasRolon ปีที่แล้ว +3

    Simple and Impressive as always Dave. Greetings from Asunción Paraguay.

  • @tudorcroitoru8762
    @tudorcroitoru8762 ปีที่แล้ว +2

    This is extremely interesting! I always thought the Win32 UI api was very verbose and was very curios how people were building useful apps from scratch without Qt, XAML and the rest. It's very cool to see this code with the explanations of what it does and why. Can't wait for the next part!

    • @nickwallette6201
      @nickwallette6201 11 หลายเดือนก่อน

      I was using VB back then. It always frustrated me that you were walled out of so many things that Windows applications apparently _could_ do, like dragging the window from anywhere, or locking the minimum size, etc. There were WM controls you could drop in to subscribe to events, but then you were basically dropped into the deep end of the WinAPI, and had to be able to translate documentation written for C programmers to the types you had access to in VB.
      So now, it's enlightening to see how those tricks were done. It all totally makes sense, and the verbosity highlights one of the reasons why VB didn't give you the rope to hang yourself.

  • @MikeHarris1984
    @MikeHarris1984 ปีที่แล้ว +11

    I wish task manager did keep high priority. Now that it stays regular a heavy task that I'm pulling up to kill with task manager now just hangs

    • @andrewr7820
      @andrewr7820 ปีที่แล้ว +1

      Yeah, real frustrating when trying to kill adware that got on someone's computer. (I hate that stuff.)

  • @schifoso
    @schifoso ปีที่แล้ว

    I enjoyed seeing how small, well written, clean, and well laid out code used to be written.

  • @RaistlinMaj
    @RaistlinMaj ปีที่แล้ว +2

    I love how you added comments everywhere.

  • @moffix
    @moffix ปีที่แล้ว

    This a master class in how you can build a lean and mean Windows project. Takes me back to the early 90s before all the bloated libraries when you had to handle the message loop yourself. Actually coded many things in OS/2 using similar techniques. Difference was, we did everything in C which was error prone when not careful about memory, device drivers etc.

  • @AnIdiotAboard_
    @AnIdiotAboard_ ปีที่แล้ว +1

    Can we just take a min to thank Microsoft aswell here! Its incredible to me they've allowed him to do this and given him the actual code, yeah its 20 years old but still.

  • @hotwings9382
    @hotwings9382 ปีที่แล้ว +1

    Incredible Dave, you were performing at a high level during your time at Microsoft 🎉

  • @Shahriyarj
    @Shahriyarj 10 หลายเดือนก่อน

    I'm process explorer user myself, but this just shows how much though and sense went into Task manager.
    All those Nt calls, reminds me of undoc Nt book and forums, good all times 😄

  • @MySonBand
    @MySonBand ปีที่แล้ว

    Absolutely interesting dive into the code there :)
    And I did love the "Task manager killing Windows" gag, keep it up :)

  • @adrianmillard6598
    @adrianmillard6598 ปีที่แล้ว

    Generally speaking I had no idea what you were talking about. I still enjoyed the video though, and appreciated your company. So thank you.

  • @DanielMtez
    @DanielMtez 11 หลายเดือนก่อน

    Omg. Thank you for setting the priority high. I do remember that on some windows update it was removed, probably when the whole thing with xbox ui came in. I hated when that was taken away.
    Thank you so much

  • @kevindustries9130
    @kevindustries9130 11 หลายเดือนก่อน

    "DavesControls" gave me quite a giggle, only because today there's no way I could attach my name to a function like that today. It speaks volumes about software development culture 20+ years ago.

  • @BertRedd
    @BertRedd 10 หลายเดือนก่อน

    This is so amazingly well written code. It took me years to write code like this. Bravo.

  • @Zeazy
    @Zeazy ปีที่แล้ว

    great video
    its like a time capsule, seeing your old code after so long

  • @GiorgiBekurashvili
    @GiorgiBekurashvili 10 หลายเดือนก่อน

    It is such a big honor. Thank you for reveal LEGEND!

  • @marcellomello3307
    @marcellomello3307 9 หลายเดือนก่อน

    Fantastic, thanks for making this video for us! And congratulations on the initiative.

  • @skylo706
    @skylo706 10 หลายเดือนก่อน

    Amazing, you got a new subscriber. I love watching you guys who made that kind of stuff back in the day, it's so interesting to me to listen to you people and get an insight in what your thought processes and situations were back then 😊

  • @jtwhite2084
    @jtwhite2084 ปีที่แล้ว

    Thanks Dave. I love your "What was Dave thinking when he wrote that" videos and insights they provide.

  • @DustinKreidler
    @DustinKreidler ปีที่แล้ว +1

    Favorite moment of reality: examining 20 year old code that has been in production, and identifying a possible bug. In my work we validate almost every single cell of every single bit of data we pass on (so much Excel!!), both using automated testing and manual proofing and analysis... and inevitably, its not until its part of a slide deck being presented to the C-Suite that we notice the absolute dumbest mistakes.

    • @nickwallette6201
      @nickwallette6201 11 หลายเดือนก่อน +1

      I'm really curious now -- what's the difference between what it should've been, and what it was? I never ran into any odd behavior with TaskMan, so presumably the functional difference was minor or non-existent. Were we all just lucky?
      EDIT: Ohhh... I just watched it again, and it just re-selects the previous tab if the user tries to change tabs, and it fails. I don't know what would cause tab selection to fail (an out-of-bounds number, perhaps?), so it probably rarely ever has, and this path protects a corner case that nobody likely ran into unless the ship was _really_ going down anyway.

  • @meerkatpowergaming9412
    @meerkatpowergaming9412 11 หลายเดือนก่อน

    Hey Dave! Thanks for going through this source code. As someone who hates User32/GDI32 libraries and anything included via windows.h (valid reasons such as legacy, naming, drawbacks of message handling, SetWindowLongPtr etc) with a passion and also someone who is making a windowing API akin to SDL2/GLFW, I really appreciate your code going over the messages; it reaffirms my frustration I've been having with the... weird messages that do weird things... that have been inherited up to windows 10.

  • @fshtank
    @fshtank ปีที่แล้ว

    This was a fun walk-thru. Interesting to hear your thought process in writing the code as you walked us through it.

  • @danieldawson4937
    @danieldawson4937 ปีที่แล้ว

    Great stuff Dave! Had my Windows XP VM up with Task Manager running to follow along 🙂. Keen to see more!

  • @kd5ydu
    @kd5ydu ปีที่แล้ว

    I would love subsequent parts to this! I'm learning to program and being able to see the code and the thinking behind it is fascinating!

  • @Destroyer954
    @Destroyer954 11 หลายเดือนก่อน +4

    Yes! Finally someone mentioning the high priority no longer being default, as a sysadmin this annoys me greatly (at least no longer personally since i am now using linux), but supporting users is definitely more annoying since this is not running with a high priority. It true that it is way harder for a user to overload a machine, but sometimes there is a bug in a driver or in a system app that causes a mess and then task manager is not opening. There is no good reason for this behaviour, if a benchmark is impacted, you can at least change the priority afterwards. But during startup it is important

  • @mar4kl
    @mar4kl ปีที่แล้ว

    Thanks, Dave, for this guided tour of the original Task Manager code! In my programming days, I was mostly a database programmer and then, later, a web programmer, so I had very limited exposure to how Windows creates screen displays, and that bit of exposure I had was via APIs that allowed for calling Windows functions from Paradox for Windows objectPAL and Microsoft Office VBA. A lot of what I had to do back in the day would have made a lot more sense to me if I'd had access to a video like this one. Even though I'm no longer doing much programming, I'd love to see more.

    • @andrewr7820
      @andrewr7820 ปีที่แล้ว

      OMG, Paradox? That's going back aways.

  • @peep39
    @peep39 11 หลายเดือนก่อน

    I remember when Task Manager came out. Seemed like sorcery. I am a software developer. I have to admit that, over the years, my mind has often wondered about the inner workings of Task Manager. Nice to know who made it, and nice to see inside.

  • @MrMarkw85
    @MrMarkw85 ปีที่แล้ว +1

    Thanks for fixing the camera, I was getting nauseous. the first 10 mins were pretty distracting.

  • @MsDuketown
    @MsDuketown ปีที่แล้ว +4

    Task Manager from Windows SDK needs to work in tandem with Process Explorer to see what's going on.
    You needed a Pro version of Windows, and Power Toys. Luckily, I also obtained these, including a license for MS Office (also with Access, Projects & Visio) with a student discount.
    Most other stuff is manageable (and scriptable via cmd.exe) via regedit, msconfig, etc.

  • @user-qr5gn2yz6y
    @user-qr5gn2yz6y 7 หลายเดือนก่อน

    please keep this series, it's so interesting!!!

  • @FloydMaxwell
    @FloydMaxwell ปีที่แล้ว +1

    4:01 - TASKMGR.EXE in XP's system32 folder is 135,680 bytes. This is with SP3.

  • @FabledGentleman
    @FabledGentleman ปีที่แล้ว +1

    25:03 the joy on his face, like a kid at a candy store. 😆

  • @kylekinnear8878
    @kylekinnear8878 11 หลายเดือนก่อน

    Awesome! I love seeing source code for important applications I've used a lot. Makes me feel like I understand a little bit more about how my world works.

  • @IshayuG
    @IshayuG ปีที่แล้ว +1

    We're still using GoTo to this day. It is a very good way of handling exceptions if you do not have try/catch in the language.

  • @GuildOfCalamity
    @GuildOfCalamity 11 หลายเดือนก่อน

    Great video Dave. I kind of cringed when I saw that "goto", but I realize there are cases where it does make sense.

  • @kellyfrench
    @kellyfrench ปีที่แล้ว

    Count me as really looking forward to the next part of this.

  • @DanHPerry
    @DanHPerry ปีที่แล้ว

    Great episode. I'll show it to my Engineering Programming class in the spring.

  • @Threefold.
    @Threefold. ปีที่แล้ว

    Very interesting video! The "tracking mode" that you mentioned on the camera is very distracting though in my opinion.

  • @drooplug
    @drooplug ปีที่แล้ว

    I like that Dave puts his opening brace on the next line.

  • @Lazdinger
    @Lazdinger 11 หลายเดือนก่อน

    That ‘HIGH_PRIORITY_CLASS’ was gold. I remember task manager having that.. I knew I wasn’t crazy!

  • @Tehbom
    @Tehbom ปีที่แล้ว

    Im a student and thoroughly enjoyed your last overview, and now this deep dive. Awaiting the follow up and maybe you could spin up an XP vm and show sixe by side? Great work, then and now. Thanks!

  • @HaouasLeDocteur
    @HaouasLeDocteur ปีที่แล้ว +5

    Wonderful content but the zooming motion was distracting and borderline made me as if I was seasick :(

  • @martyhill8342
    @martyhill8342 หลายเดือนก่อน

    Great instructive video. But it reminds me of watching my son's Aero Engineering professor derive the Navier/Stokes equations on the blackboard!

  • @dandymcgee
    @dandymcgee 11 หลายเดือนก่อน

    i remember old viruses back in the day would set that stupid registry key to disable task manager.. what a nightmare. great video!

  • @bambi186
    @bambi186 11 หลายเดือนก่อน

    Dude, thank you for this really interesting glimpse into the source code, but PLEASE disable the auto zoom feature on your camera, it was really hard to look at the code because of that 😅

  • @GlorytoTheMany
    @GlorytoTheMany ปีที่แล้ว +1

    I'd like to see you compile this (for modern OS if possible) and enable the disabled features like that hidden mode. Thanks for the video!

  • @nook24eu
    @nook24eu ปีที่แล้ว

    I have developed an open source monitoring agent some time ago and on Windows, task manager was my reference to check my numbers.
    Would be super cool if Microsoft would release Task Manager as open source one day :)

  • @dallas-cole
    @dallas-cole 11 หลายเดือนก่อน

    I also miss the process priority, it's crazy to see, hear and watch who implemented it. Kudos

  • @andwichris
    @andwichris ปีที่แล้ว

    Very clean code and very nice and funny comments. It shows that clean code does more to understanding code than comments ever can.
    Finding a bug after 30y is also very nice and Daves reaction was so genuine :D
    Btw: was it Raymond Chen who said that cleanup of Windows resources in a process is not necessary, since Windows kernel will close all handles at the process end anyway? It doesn't mean cleaning up procedures shouldn't be done, but large amounts of e.g. memory are much easier and faster freed by the os. Looking forward to part two :)

    • @shexec32
      @shexec32 ปีที่แล้ว

      I wouldn't place too much trust on Raymond Chen about how process cleanup works. One of his windows update patches ended up having to be recalled & reissued because his theories of how processes exit was so off the mark, his code caused a certain brand of printer to bork up. The Printer's DLL wanted to run code on DLL_PROCESS_DETACH to reset printer state, but Raymond's exit code meant that the DLL code did not get run, thus the bricking.
      (I'm simplifying the story ... slightly. Raymond is actually one of the most knowledgeable of all of us how shutdown works, in that he knows that we have no idea how process shutdown works. Process exit is 3rd party code-driven - ie. shutdown could consist of everything, anything, and nothing all at once)

  • @PaulStSmith
    @PaulStSmith 11 หลายเดือนก่อน

    I loved the BUGBUG part.
    Bug hunting shoulder almost 30 years later.

  • @shreyanshmishra6613
    @shreyanshmishra6613 11 หลายเดือนก่อน

    He is showing code of windows application on mac. Love it.

  • @jspesh
    @jspesh 11 หลายเดือนก่อน

    impressive. if i had to look at code i wrote 30 years ago I'd have absolutely no idea what it does or how it works

  • @capnzilog
    @capnzilog ปีที่แล้ว

    The "goto" cleanup method is industry-standard Amiga style! :D

  • @alexanderwesterlund7553
    @alexanderwesterlund7553 ปีที่แล้ว

    Man, you are a god, thx alot for all the knowledge if siphoned from your vids.
    Understanding the entire IT world feels like trying to grab something unobtainable, you offer clear pieces of the puzzle.

  • @cetilly
    @cetilly ปีที่แล้ว

    Yes! Part 2 and a Part 3 where you compile and run certain portions of the code so we can see what you are talking about.

  • @mrfoodarama
    @mrfoodarama ปีที่แล้ว +6

    Very cool Dave!

  • @miriamkapeller6754
    @miriamkapeller6754 ปีที่แล้ว

    Oh dear, this isn't even "C with classes", it's almost pure C even though it's a C++ project. It's a bit painful to look at in 2023, but as you said, this coding style was pretty common in those times. Still fun to see some of the code behind those tools.

  • @nickmaleki
    @nickmaleki ปีที่แล้ว

    I've always wanted to watch a video like this one. Thanks Dave!

  • @LuzuVlogsGamer
    @LuzuVlogsGamer 11 หลายเดือนก่อน

    This was amazing:
    Also the SetPriorityClass sounds like the Solution for all our problems when a program, Game freezes and you cant kill it with alt+f4 so you try to use the Task Manager but You cant since it doesnt Pop up on top and you have to restart your PC. ):
    I hope there is something related to the anti-virus firewall system :D

  • @radboogie
    @radboogie 10 หลายเดือนก่อน

    Loved this video Dave, I miss Win32 programming, message loops and rolling your own UI code etc... "Charles Petzold", now that's a name I haven't heard in a long, long time 👍

  • @mrgcav
    @mrgcav 11 หลายเดือนก่อน

    Dave 8::00 was a classic."There can be only one" LOL I wish you has input on Win 11