Windowblinds part duex!!!


Recommended Posts

Originally posted by DJP

BTW is there also a possibility to skin the command promt window?

Alas no.

That window is protected under NT based OSes. (which is why msstyles cannot skin it either as it runs in a similar way to WB)

Link to comment
Share on other sites

That window is protected under NT based OSes. (which is why msstyles cannot skin it either as it runs in a similar way to WB)

This is in regards to the Command Prompt window.

It really has nothing to do with protection. It is more that Microsoft chose not to let this particular application use the XP Visual Styles/themes.

Link to comment
Share on other sites

There is no "choice" involved here. It can't skin the command console because visual styles aren't in the kernal. MS would have to make significant changes to the OS to let command consoles be affected.

Link to comment
Share on other sites

Originally posted by jesterzwild

This is in regards to the Command Prompt window.

It really has nothing to do with protection. It is more that Microsoft chose not to let this particular application use the XP Visual Styles/themes.

No, it has a LOT to do with protection.

The process the command prompt runs as is protected from system hooks and subclassing. This has been like that since NT 3.1

Link to comment
Share on other sites

Hmm... as I remember Microsoft makes Windows, and as such it is their "choice" to keep the Command Prompt window from being "themable".

Just because a system component is protected has little to do with system hooks or subclassing. It has more to do with the fact that Microsoft did not include subclassing and system hooks in the Command Prompt application. Now you are right in that is protected, as far as in the non-ability of modifying it.

The Command Prompt is an application much like any other, and as such it is run in a window, just like almost every other application. Make a copy of it and place that copy outside of the System32 directory and it is no longer protected.

... Oh and the kernal doesn't include Visual Styles because there is no need for it to. The Command Prompt window is not part of the kernal.

Link to comment
Share on other sites

Originally posted by jesterzwild

Hmm... as I remember Microsoft makes Windows, and as such it is their "choice" to keep the Command Prompt window from being "themable".

Just because a system component is protected has little to do with system hooks or subclassing. It has more to do with the fact that Microsoft did not include subclassing and system hooks in the Command Prompt application. Now you are right in that is protected, as far as in the non-ability of modifying it.

Subclassing and system hooks are not something an app has to provide. All win32 apps can be subclassed & system hooks impact them.

The Command Prompt is an application much like any other, and as such it is run in a window, just like almost every other application. Make a copy of it and place that copy outside of the System32 directory and it is no longer protected.

I am sorry but you are 100% wrong here.

Command prompt apps are run in a protected system process. No amount of renaming the exes you run will stop that. The window created is special (try using Spy++ on it and you will see)

It is not related to system file protection in any way.

... Oh and the kernal doesn't include Visual Styles because there is no need for it to. The Command Prompt window is not part of the kernal.

If MS had done things properly, the visual styles paint code would run instead of the original classic paint code. No special system hooks etc would be required and the entire thing would be much more native.

The command prompt is part of a process called csrss.exe which you will see listed in taskmanager. This process is responsible for those windows and also holds core OS functionality. (you can kill it by special means and it will then force the machine to enter a shutdown mode as it is so critical)

A quick search in the MSDN library would show this (there is also one other protected window, but thats the desktop - which is hidden under the explorer desktop)

Link to comment
Share on other sites

Originally posted by jesterzwild

Hmm... as I remember Microsoft makes Windows, and as such it is their "choice" to keep the Command Prompt window from being "themable".

True, as far as it goes, but command windows have been excluded from hooking before Visual Styles were even a concept.

Just because a system component is protected has little to do with system hooks or subclassing. It has more to do with the fact that Microsoft did not include subclassing and system hooks in the Command Prompt application. Now you are right in that is protected, as far as in the non-ability of modifying it.

No. You are wrong here. Subclassing and system hooks have existed for a long time before Windows XP. They are not a feature of the application, but of the operating system, and can be used for many more things than skinning alone.

I think you're confusing this with the fact that only certain "theme-ready" applications are fully skinned by Visual Styles. These applications do have something extra - a little bit of XML that says to uxtheme.dll "yes, I can be fully skinned".

The Command Prompt is an application much like any other, and as such it is run in a window, just like almost every other application. Make a copy of it and place that copy outside of the System32 directory and it is no longer protected.

No, again. Did you actually try it? It doesn't work.

Link to comment
Share on other sites

Ok obviously you are either not reading what I am saying right or I wrote it wrong.

I never said the system hooks and subclassing are something that an app has to provide, I said that the Command Prompt did not (or may not) use them, or make use of them in the application code. I realize fully that these were around long before XP (as I've been using them in applications I've developed since Windows 95).

And the Command Prompt is an application. If you go to your System32 directory it is "cmd.exe". Whether or not it runs as part of csrss.exe (Client Server Runtime Process for those that may not know) I never mentioned, which runs whether you have a Command Prompt window open or not. Now command prompt applications are another story, they are protected as you say, however I never said anything about command prompt applications (don't you mean command line interface applications, as almost any application can be launched from the Command Prompt).

My entire statement was concerning the Command Prompt application (cmd.exe) window. And I wasn't disputing the fact that you can't change the window border of the Command Prompt window, I was just saying that it had more to do with a choice Microsoft made, rather than just being a protection thing. Also I am not referring to the contents of the Command Prompt window, as that would be a mess if it could be "themed". Nor was I saying that the system process related to the Command Prompt isn't protected.

In addition I am entirely aware of what a manifest file is in regards to visual styles. It is a file that tells XP that an application would like its client controls/interface "themed" with the Visual Style. This has nothing to do however with the applications window (the border and title bar), as even a application without a manifest will have its window changed to match the Visual Style (unless it specifically species otherwise within its code, as the Command Prompt code does).

---------------------------------------

I know this is pointless given what I'm going to say... this debate is pointless as it does nothing to further this topic. I am guitly as charged.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.