![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 31/10/2012 09:25 AM, scott wrote:
>> (My personal favourite is how changing from the lame "Windows XP" theme
>> to the sane "classic theme" doesn't just change one registry key that
>> says "theme name" or something - it actually changes eighty bazillion
>> keys all over the registry. Consequently, it's absolutely impossible to
>> script the damned thing!)
>
> How come it's impossible? Compare the registry before and after and
> export the changes to a .reg file. Plenty of software available to do
> that or write your own in a few lines.
Yes, but every time you click an icon or open a window hundreds of
registry accesses happen. Trying to isolate just those related to the
theme change is the hard part...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Now try finding any shred of useful documentation about the object model
>> used for GNOME 3 shell extensions. Because I've wasted countless hours
>> fruitlessly searching the web for anything like that. MS's documentation
>> is vague at times, but at least you can /find/ it...
>
> Use the Source, Luke!
>
> ;)
Yeah. One guy said in a forum post "is there really no official list of
[GNOME shell stock icon names]". And somebody replied "there is no such
list, and nor should there be - the source code is the documentation".
Considering that the source code is in JavaScript, and it's nearly
impossible to comprehend without knowing what the intention behind it
was, this is an extremely stupid statement. :-P
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Wed, 31 Oct 2012 18:16:22 +0000, Orchid Win7 v1 wrote:
> Yes, but every time you click an icon or open a window hundreds of
> registry accesses happen. Trying to isolate just those related to the
> theme change is the hard part...
"Compare before and after" is not the same as "track every access".
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Yes, but every time you click an icon or open a window hundreds of
>> registry accesses happen. Trying to isolate just those related to the
>> theme change is the hard part...
>
> "Compare before and after" is not the same as "track every access".
OK. But that still doesn't detract from the actual problem: whether you
track every individual access, or just the before and after images, the
problem is that you can't just grab a bunch of registry changes, apply
them to another machine, and expect it to do the same thing. It's not
that simple.
Every time I log onto a new machine, it takes me about 20 minutes to
turn off all the annoying Explorer shell stuff I don't want. (The hiding
of files and file extensions, the retarded Start menu, the tray
auto-hide, etc.) The dream was that I could track down the actual
registry changes that underlie each of these configurations, and write
an automated script that would instantly turn off all the stupid
settings and give me a usable desktop on any machine.
To some extent, I was able to do this. But theming never, ever worked.
There are *far* too many registry keys involved. When you change theme,
there are DLLs literally setting the number of pixels for the thickness
of a window title bar, the number of pixels to allocate for button
corners, and so forth. Way, way too much stuff to script, or even
comprehend. Separating the significant registry changes from the
insignificant ones proved just too hard.
(I still secretly dream that somewhere, there's some COM object you can
invoke which just *does* it all for you... But since I'm no longer using
Windows XP, I guess it doesn't even matter any more.)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Wed, 31 Oct 2012 21:12:15 +0000, Orchid Win7 v1 wrote:
>>> Yes, but every time you click an icon or open a window hundreds of
>>> registry accesses happen. Trying to isolate just those related to the
>>> theme change is the hard part...
>>
>> "Compare before and after" is not the same as "track every access".
>
> OK. But that still doesn't detract from the actual problem: whether you
> track every individual access, or just the before and after images, the
> problem is that you can't just grab a bunch of registry changes, apply
> them to another machine, and expect it to do the same thing. It's not
> that simple.
Perhaps you're unaware that there are software distribution tools that
employ just this sort of mechanism? I worked for a company where about
6,000 desktops had applications delivered to them using this type of
application management technology, in fact.
It does require testing and knowledge to do right. It's far from
impossible.
I feel I must repeat something I've said to you over and over and over
and over and OVER again: Just because YOU can't do something does NOT
mean it is "impossible".
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> OK. But that still doesn't detract from the actual problem: whether you
>> track every individual access, or just the before and after images, the
>> problem is that you can't just grab a bunch of registry changes, apply
>> them to another machine, and expect it to do the same thing. It's not
>> that simple.
>
> Perhaps you're unaware that there are software distribution tools that
> employ just this sort of mechanism? I worked for a company where about
> 6,000 desktops had applications delivered to them using this type of
> application management technology, in fact.
>
> It does require testing and knowledge to do right. It's far from
> impossible.
6,000 *identical* desktops, I would imagine.
In that case, yeah, it might work. Just like if you have 6,000
*identical* desktops, you can apply the same Ghost image to all of them,
and this actually works correctly.
What *I* was trying to do is construct a script which will work on *any*
Windows XP installation. That is a much harder task.
> I feel I must repeat something I've said to you over and over and over
> and over and OVER again: Just because YOU can't do something does NOT
> mean it is "impossible".
If you want to split hairs, it is technically "possible" to unscramble
an egg. According to the laws of physics, scrambling an egg ought to be
a completely reversible operation. (Time invariance, and all that.) But
to date, nobody has ever succeeded in actually doing this.
There are things which are truly *impossible*. (E.g., travel faster than
light.) And then there are things which are theoretically possible, but
so absurdly hard that nobody would bother trying. (E.g., unscrambling an
egg.)
Some things are easy, some things are hard. Some things are hard enough
that for all /practical/ purposes, it's impossible. Somebody with access
to insider knowledge about how the Windows Explorer shell works
internally might be able to put together a registry hack that changes
the theme. Somebody with access to thousands of test systems and with
the time and motivation to reverse-engineer this stuff might be able to
figure it out. One lone guy with a registry monitor? Not a chance.
And that is really all I was trying to say.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Wed, 31 Oct 2012 21:54:42 +0000, Orchid Win7 v1 wrote:
>> It does require testing and knowledge to do right. It's far from
>> impossible.
>
> 6,000 *identical* desktops, I would imagine.
You imagine incorrectly. A few base images to account for different
hardware, but no, given that there were about 25 offices around the
country and systems in different places in their usable life, no, they
were not all identical.
> What *I* was trying to do is construct a script which will work on *any*
> Windows XP installation. That is a much harder task.
Not really, because application settings are generally not dependent on
the hardware. The same is true for theming elements.
>> I feel I must repeat something I've said to you over and over and over
>> and over and OVER again: Just because YOU can't do something does NOT
>> mean it is "impossible".
>
> If you want to split hairs, it is technically "possible" to unscramble
> an egg. According to the laws of physics, scrambling an egg ought to be
> a completely reversible operation. (Time invariance, and all that.) But
> to date, nobody has ever succeeded in actually doing this.
>
> There are things which are truly *impossible*. (E.g., travel faster than
> light.) And then there are things which are theoretically possible, but
> so absurdly hard that nobody would bother trying. (E.g., unscrambling an
> egg.)
Yes, there are things that are impossible. But you tend to take tasks
that you've determined are non-trivial or that you can't figure out and
declare that they're totally "impossible". Exporting the correct Windows
registry settings for a particular purpose is not "unscrambling an egg".
> Some things are easy, some things are hard. Some things are hard enough
> that for all /practical/ purposes, it's impossible. Somebody with access
> to insider knowledge about how the Windows Explorer shell works
> internally might be able to put together a registry hack that changes
> the theme. Somebody with access to thousands of test systems and with
> the time and motivation to reverse-engineer this stuff might be able to
> figure it out. One lone guy with a registry monitor? Not a chance.
Again, you are not correct about this. There are tools that make it
easier, and yes, a lone guy with a registry monitor does stand a chance
at this "impossible" task - because (and I want you to listen very
carefully here): IT IS NOT IMPOSSIBLE! :)
> And that is really all I was trying to say.
And what I'm trying to say is that you are simply wrong.
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Every time I log onto a new machine, it takes me about 20 minutes to
> turn off all the annoying Explorer shell stuff I don't want. (The hiding
> of files and file extensions, the retarded Start menu, the tray
> auto-hide, etc.) The dream was that I could track down the actual
> registry changes that underlie each of these configurations, and write
> an automated script that would instantly turn off all the stupid
> settings and give me a usable desktop on any machine.
>
> To some extent, I was able to do this. But theming never, ever worked.
> There are *far* too many registry keys involved. When you change theme,
> there are DLLs literally setting the number of pixels for the thickness
> of a window title bar, the number of pixels to allocate for button
> corners, and so forth. Way, way too much stuff to script, or even
> comprehend. Separating the significant registry changes from the
> insignificant ones proved just too hard.
Directly hitting the registry for that is probably not the best way, did
you investigate using control.exe from the command line to do it?
Something like "control.exe desk.cpl desk,@Themes" should get you
started, but you'll need to google a few more parameters to set what you
want.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Directly hitting the registry for that is probably not the best way, did
> you investigate using control.exe from the command line to do it?
> Something like "control.exe desk.cpl desk,@Themes" should get you
> started, but you'll need to google a few more parameters to set what you
> want.
Thinking about it a bit more, you'd be better off making all your
changes by hand once then saving it as a custom theme file. Then google
"set theme command line" - it's easy. No idea if the theme file format
is the same for different versions of windows, you might have to make
one for each version.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
scott wrote:
> I'm pretty sure I've tried with a few trial apps (a long time ago) to
> find out how they were detecting I'd already run the trial but
> couldn't figure it out (after logging registry and file changes). They
> must be using something a bit more sophisticated.
Some of them actually write something into the gap behind the master
boot record. This works in the case of windows boot loaders which don't
use it. Other boot loaders, for example GRUB, are located in this gap.
Installing one of these trial applications can therefore ruin your
bootloader. Luckily, this never happened to me. (Only report I found
with a quick search: http://superuser.com/a/192082)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |