UXTHEME.DLL ... question


Recommended Posts

Does this file contain the actual skinning engine for winxp? Or is its only purpose to check whether or not a certain skin is digitally signed by MS?

Also ... theoretically ... would it be possible to modify XP's skinning engine so that it skins non-theme-aware applications? The only app I know of that does this is wb .. and although many people are running wb well without problems, i notice a severe decrease in speed. I'm not saying wb is a bad product, obviously a lot of effort went into making it, but just that it doesn't run well on my pc.

Thanks,

Flip_Kid:D

Link to comment
Share on other sites

i don't think that would be possible...

the programs that i have seen that are (totally) theme aware...

have extra coding in them...

they have some XML in there that tell them how to use XP's styles...

you would have to alter the target application...

Link to comment
Share on other sites

What application are you interesting in Making Theme aware ??

i have succeded in making one application that was NOT theme aware.. aware...

i would like to test this on some other apps... if you can suggest some that are NOT theme aware.. i will try to alter them..

thanks

Link to comment
Share on other sites

Heres a show of Lview Pro...

Before and After i altered it...

NOTE.... WB is not being used.. it IS XP skinning the buttons...

Left is before.. right is after...

anyone interested in this.. please let me know

Link to comment
Share on other sites

Why would you want to screw around with the uxtheme.dll file to make an app theme aware? Why not just create a .manifest file with the necessary info?

The extra programming could be thrown in by VB .NET if it's a .NET app, MS of course, or, in the case of 'designed for' products, it's all hard coded in, except with the case of MSN, which uses a file called MSNMetal.dll to control that UI, and, inside the two (MSNMetal and uxtheme.dll) are quite alike.

There's a couple videos at MS's site explaining the innards of a .manifest file, but I might save you the hassle (and reduce my level of boredom) by saying it all:

If you program, you use the Windows Common Controls/Dialogs, these are all upgraded to v6.0 in XP and 5 in 9x/Me. YOU CAN SKIN AN APP NATIVELY IN WINME!

All UxTheme is is a 'wrapper' to ComCtl32.dll (as opposed to ComCtl.ocx which is the controls themselves, that of which is a wrapper to the DLL) and just replaces them with funky images, in this case the luna theme, by routing the graphics to a dll file or a msstyles file, all editable in some resource hacker or another.

The Manifest file is an XML file built up like the UxTheme file, but one that contains a reference to UxTheme (which passes on the current theme in use) or you can use an optional line in it to pass on a different theme. This means that one app can be Luna, one Silver, One Homestead and one Watercolor, Professional, Whistler or whatever you want to call it.

The XML is NOT the theme, it's just to tell the 6 WHOLE LINES OF CODE where to put them. A button just makes a reference to the (insert code here) section in the XML file, which is why the "c" style selection bracked ({ or }) is in there (that's not usually in MS's XML, but in this case, C++ has to read it)

Anyways, check out http://msdn.microsoft.com and go watch the videos by Brian Valentine and some other programmers explaining all... It's quite good, actually, because in one of them they get watercolor working on XP 2426... I'll grab the link if I can (the start menu is ****** up though!!)

Link to comment
Share on other sites

The best way is to create a manifest for the app in question.

The only problem is that manifests don't work well with Delphi apps, some VB apps, and some apps that do non-standard things.

But they do work decently with say the "big" apps like Office and Adobe and Corel.

As for WB, next week we're going out with a RC2 which *hopefully* will address the speed issues some have reported. We've been "hanging" out here taking feedback from people to see what the common issues are. It technically should be as fast (you might even say identical) in performance to .msstyle files.

Link to comment
Share on other sites

Just confirming ... ok so say someone was bored and created a pack of manifest files. Would this "theme-aware" non theme-aware apps with any theme, on any computer? (I'm not really that great at technical details. But if you guys understand it, great! :) )

Frogboy: ok I'll be sure to take a look at that. wb won't screw styles xp over will it? :)

Thanks for all your help,:D

Flip_Kid

Link to comment
Share on other sites

If you have XPstyles that you want to run.. you have to Disable WBXP first...

WBXP will not let you see the MSStyles that were created to Run with XPStyles....

(i don't know why.. ask frogboy)

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.