![](/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) |
> That was about when I gave up looking to Microsoft's own documentation
> for anything useful.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724871(v=vs.85).aspx
or for .net languages:
http://msdn.microsoft.com/en-us/library/microsoft.win32.registry(v=vs.100).aspx
If you don't find that useful then I don't know what you are expecting...
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) |
> Yeah, it is. There are very few programs out that track changes though,
> and they are usually "security" type things, like one called scoty (or
> something like that), which watch dog they thing, so look for odd
> changes, like something adding a new startup program some place (it
> catches everything doing that, so even legit stuff gives a pop-up, which
> can be interesting...)
A quick google for "registry watcher" gives millions of results, and the
WinAPI even has a function RegNotifyChangeKeyValue that you can easily
use to watch the whole registry if you can write a few lines of code. I
just doubt they use this method as I have tried it before and failed,
and if they did there would be simple registry hacks all over the web to
get full versions of software (which there very rarely is).
> Other cases may be hidden files, in odd places,
> etc.
Maybe, but again that is easy to detect if they use standard API calls
(there are plenty of "file watcher" type programs, or you can easily
write your own). Again, if this were the case there would be simple
instructions available online like "delete this file to restart the
trial", but you don't often see that.
> One of the kind of interesting ones is a "give away of the day"
> thing, which doesn't actually demo, its installer actually registers it,
> within the 24 hours of the give away, and flat refuses to install it as
> a working application, if the server says "no".
Indeed, nowadays it's easy to do if you assume internet access is
available, you just check with the server with some key generated from
the machine (using mac address) and refuse to run if the server says no.
> But, in general, adding some sort of flag to the registry, with a date,
> or the like, is the simplest solution. So, in principle, if you knew
> what changed, you could undo it.
Of course it is the simplest, but does any real software actually use
only that method? IME not, for example try www.bobstrackbuilder.net -
even a low-budget program from a single coder does not use that method,
so I highly doubt more "commercial" programs like PhotoShop etc would
use such an easily hacked method.
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 31/10/2012 03:01 AM, Patrick Elliott wrote:
> On 10/30/2012 1:46 AM, Orchid Win7 v1 wrote:
>>> Still, even something like,
>>> "Export all keys specific to this application.", would have been nice.
>>
>> What makes you think you can't do that?
>>
> It can't. To do that would require exporting "all linked keys". That
> means that you search for, say, Explorer, and you don't get get the key
> "USER-Explorer-...", you also get the 5-6 hexidecimal keys for its
> components, keys in other sections, which relate, etc. You have to know
> what all of them are, and either mark them yourself, or export them each
> separately, as far as I can tell. And, just searching for what key you
> need is a pain in the ass sometimes (especially if it turns out that the
> specific thing you are looking for is one of those "hidden" settings,
> which is not normally in the registry at all, nor documented any place
> obvious, no accessible through any of the user menus).
Grabbing all the keys related to one application is usually easy enough.
Figuring out what all that stuff /means/? Yeah, not so easy. And finding
all the settings that get changed for /other/ programs when you install
the application (e.g., registering COM servers, changing the system
search path, hooking into the Windows Explorer context menus, etc.) is
not easy at all...
Then again, there are tools for monitoring the registry and recording
changes to it. It still won't help you figure out what the changes
/mean/, but it makes it fairly easy to capture them.
(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!)
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 31/10/2012 08:22 AM, scott wrote:
>> That was about when I gave up looking to Microsoft's own documentation
>> for anything useful.
>
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms724871(v=vs.85).aspx
>
>
> or for .net languages:
>
> http://msdn.microsoft.com/en-us/library/microsoft.win32.registry(v=vs.100).aspx
>
>
> If you don't find that useful then I don't know what you are expecting...
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...
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) |
> Compiling just creates the key names and their default values. Actually
> reading and writing doesn't require recompilation.
So compiling is only needed when new keys are created or existing ones
deleted?
> Also, recompiling takes approx 400 ms on my virtual machine...
And how many key-value pairs is that compared to the Windows registry?
:-) (comparing the size of the binary compiled version with the windows
registry might be a rough indication)
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) |
> (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.
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 31/10/2012 08:22 AM, scott wrote:
>>> That was about when I gave up looking to Microsoft's own documentation
>>> for anything useful.
>>
>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms724871(v=vs.85).aspx
>>
>>
>>
>> or for .net languages:
>>
>> http://msdn.microsoft.com/en-us/library/microsoft.win32.registry(v=vs.100).aspx
>>
>>
>>
>> If you don't find that useful then I don't know what you are expecting...
>
> 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!
;)
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
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 10/31/2012 1:22 AM, scott wrote:
>> That was about when I gave up looking to Microsoft's own documentation
>> for anything useful.
>
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms724871(v=vs.85).aspx
>
>
> or for .net languages:
>
> http://msdn.microsoft.com/en-us/library/microsoft.win32.registry(v=vs.100).aspx
>
>
> If you don't find that useful then I don't know what you are expecting...
>
I am not saying that they don't "sometimes" provide clear documentation.
Just that, the more specific the information, the less likely you will
find something useful on it. The registry is fairly simple, so, its
pretty hard for them to screw up documentation on the API to access it.
Or, maybe they just didn't try hard enough. lol
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 10/31/2012 1:42 AM, scott wrote:
>> But, in general, adding some sort of flag to the registry, with a date,
>> or the like, is the simplest solution. So, in principle, if you knew
>> what changed, you could undo it.
>
> Of course it is the simplest, but does any real software actually use
> only that method? IME not, for example try www.bobstrackbuilder.net -
> even a low-budget program from a single coder does not use that method,
> so I highly doubt more "commercial" programs like PhotoShop etc would
> use such an easily hacked method.
>
True. Sometimes its dang hard to work out how they do manage it, but,
its got to be "someplace" on your machine, and there are a finite number
of things they can do to manage it.
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 31/10/2012 09:14 AM, scott wrote:
>> Compiling just creates the key names and their default values. Actually
>> reading and writing doesn't require recompilation.
>
> So compiling is only needed when new keys are created or existing ones
> deleted?
Yes, basically.
>> Also, recompiling takes approx 400 ms on my virtual machine...
>
> And how many key-value pairs is that compared to the Windows registry?
> :-) (comparing the size of the binary compiled version with the windows
> registry might be a rough indication)
Well, considering that only GNOME itself and a tiny few GNOME
applications use this thing so far... yeah, not very big.
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) |