To change the shell, you either set the shell= line in system.ini (in win9x) or change HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\shell to something else. In NT it's nice because even if you enter a path that doesn't exist, you can still start task manager and run somethign that way. Note that explorer will not show a start button and desktop unless it is set to be the shell. As for the buttons: A - (this letter is completely arbitrary) brings up a menu for quickly setting hotkeys to switch between windows. I use this when I have lots of winword.exe's open, because they all look the same in alt+tab O - Various options to perform on windows, such as setting transparency or alpha blending, setting always on top, cutting holes in, hiding, or terminating. W - Windowshade mode, like on a mac. It also allows you to set hotkeys for any command you could normally perform, so I have hotkeys for various things like controlling winamp. I also have ctrl+shift+alt+delete, which means "terminate the process that belongs to the window my mouse is pointing at" which I use way more often than I should. ;)
wParam
Posts
-
What does your desktop look like? -
What does your desktop look like?Yep, wrote it all myself. I looked at the litestep source to see how to create a system tray, but the rest was just me coding in my spare time. Unfortunantly it was also my first win32 program, so even though it's gone througn a major revision since then some of the tactics I used are pretty horrendous. (Like before I found out about malloc() I was using the registry to store dynamic data.)
-
What does your desktop look like?This. I bet I've got the most unique desktop of anyone =). I don't run explorer as the shell, I find it crashes far too much when I do. I run a shell of my own design, it is what gets me the runbox, the AIM window in windowshade mode in the upper right, and the A, O, and W buttons on title bars. Winamp gets a permanant place on the screen, outside of the work area. Screen resolution is 1400x1050, strange, I know, but it's the native res of the laptop panel, so I don't have much choice ;). When was the last time anyone saw windows minimized like that? Sorry, I couldn't resist. :laugh:
-
.NET and RAMThe colums that gives me that is the "VM Size" column. "Mem usage" (whatever the heck that refers to) shows 66 megs at the moment, but goes as low as 4 if I minimize the ide. Anyone know what "Mem usage" is measuring? Also, this devenv.exe has been running for ... a long time, like a week. brian
-
.NET and RAMI recently got my first experience with .NET, specifically C#. As a person who has only ever used vb and then win32, I like having the ease of vb UI design with C type syntax. However, I can't get past the fact that C#, while being better then java, still is of the mentality that "RAM is cheap, waste as much as you want!" How did this happen? How is it a good thing that devenv.exe has a 164 megabyte address space? I use C and win32 for everything (even making shell extension COM objects--that's loads of fun), because I still care about efficency. How did people here get yourselves away from the machine level and become comfortable with things like a java or .NET? Or should I just look for a job in device driver programming and live there? 3rd year in college, 20 years old, and as stuck in my ways as your average stereotypical 80 year old...
-
The end of DLL hell... Long live WFP hell!What you can do instead of the registry hack is replace the backed up copy and the "live" copy at the same time. In win2k these files are in winnt\system32\dllcache. You can even do it by hand if you want, but you have to be quick at dragging the files around. If you can get both copies replaced before it can update either one of them you win. On my system when I do that it brings up a box asking for the cd, but if you hit cancel enough it will let you continue without updating. Any further changes you make to these files will get you the "insert cd" dialog again. But at least you've got the older working versions back. Let this be a lesson to everyone: NEVER NEVER NEVER install betas of internet explorer. (I fought with ie4 beta for a week trying to get my computer back without formatting it. No, I'm not still bitter.)
-
How can i send a message to WindowsI think the function you're looking for is mouse_event or SendInput on windows NT. MSDN has pretty good docs on them.
-
Nt kernel hacking page?Does anyone know of a site (something like the code project is what I would hope for) dedicated to (or even with just a small section for) doing low-down and dirty things with NT? Or is there perhaps a place for such things here at Code Project? I have several little things that I've written over the years, things like a function to do SetWindowLong on any window, no matter what process it's from. Or what I'm trying to get to work now, a function to run code in the context of another thread (effectively interrupting it, so you can use ExitThread () or SetThreadDesktop ()). Or disabling KeBugCheck, that one's my favorite. Yeah, these aren't things you'd necessairily want to do but they're still neat to try out. There are places like this for linux I think but I've never heard of one for NT. Anyone know of a place for stuff like this? Code snippets, message boards, anything? Yeah, I know it's a stupid name. It was supposed to be temporary. That was 2 years ago.
-
Disabling Ctrl+Alt+Del keys in Win NT/2000Actually, you CAN disable those keys, but it involves terminating winlogon. I didn't notice any drastic effects, the most notable thing was the lack of ctrl+alt+delete (at that point I could use RegisterHotKey and catch it in my own apps) and the inability to shut down the system. (You can't shut down by ANY MEANS. Blue screen or reset buttons are your only chioces.) Here's what you do: Terminate smss.exe. (You'll need SeDebugPrivelege) Terminate winlogon.exe. There you go. I'm told that all smss.exe does after the system is running is wait on various things and bluescreen when they terminate. So by killing it before winlogon you get rid of winlogon without the bluescreen normally associated with it. If you wanted to get really advanced you could try to figure out which thread in smss.exe was the culprit and just kill the one thread. Use at your own risk! I myself don't fully understand all of winlogon.exe's functions. Stupid name? Yeah. I know.
-
Calling DLL from assembler code?Don't even bother making it a function pointer, just take and use it as void *. void *foo; int retval; foo = GetProcAddress (...); //push the things on to the stack here __asm { call foo mov retval, eax } You'll have to decide how to interpret the return value, of course. Also don't forget to push the things onto the stack in reverse order.
-
Realtime sound mixingDoes anyone know how, or have a link to a place that has info on how to do realtime mixing of wav files? I've gotten the mixing down, and it works fine, just have channels and "mix" them by adding bytes of the wav. My problem is that I'm doing this for a game, and because the output buffer is 1024 bytes, sometimes you can notice a delay between when the event (an explosion in this case) occurs and when the sound plays. But making the buffer short enough so that the delay isn't noticable is so short that my computer (pIII-450) can't keep up. Is there a way to access the data you've already passed to waveOutWrite? Or is there some other way I might be able to get rid of this stupid delay. (I know directsound can probably handle it, but I'm interested in a non-directx solution, if one exists.) -wP