Yep understand all that but why didn't it execute at startup like it should have? To clarify I hadn't turned on my PC's for at least 8 hours or more before this occurred.
If the Watermark is already visible on Metro/Start Screen, then either your PC was most likely sleeping, hibernating or in Fast Boot Enabled mode, only a cold boot will remove the Watermark for enough time for Thread Killer to stop it showing. If you put the PC to sleep without running Thread Killer (Auto Startup method should do this for you), then when it wakes, the 4 hours would have elapsed and it will be shown straight away. This is all speculation tho as I haven't been using it since the initial tests, perhaps we'll discover a reason for it to show instantly, if this is the case, we'd need to make a start up item that closes explorer, runs a new explorer and then runs Thread Killer, I am sure a lot of improvements could be done with all this, but if we could find a way to kill the GetActivationFactory thread and then kill the actual thread that displays the Watermark the whole time, we'd not have this issue anymore, even if the Watermark beats the ThreadKiller it would then kill the Watermark after closing the thread that would cause it to show again.
Definitely not in sleep mode. Although with this new OS anything's possible being so new. Someone mentioned hybrid shutdown? whatever that means. Edit: I think I might Know why its occurring. It runs twice. First when you login as M$ account then if you logout and use a local account it executes it again. It Switches it off? that's why it says threadkiller (2) I saw the CMD briefly come up. Can someone else try this plz
If you haven't installed it on both accounts the one may be running without it enabled (This is why the original version went to All Users instead of current user, I just followed suit with my Auto SFX one), this might make a difference, if not then like you've said, switching accounts will invoke the watermark, I only have 1 account so can't test it. You can run it 50 times, it won't do anything for 49 of them times.
hmm how to overcome this then? Why does it say thread killer(2) then, because its 2 accounts? perhaps this is one off thing ill test it again tm see if it happens again
I'm implementing my killer to work as a service too, so it would work for all users as soon as the windows starts. It should also kill even if explorer restarts but I need to do some testings, never made a service before.
Sounds like a issue with the threadkill to me or some other issue, coz the code that's patched in shell32.dll is excuted many times before 3 hours will pass A simpe test do this restart your pc go Personalize--> Desktop Backgroud and select some of the desktop backgrouds and save changes now if your cpu load is low shell32.dll can be excluded
Cpu usage is normal after wallpaper change (ive rebooted my pc first, to get rid of the overload) So your shell32 mod can be ruled out. Maybe threadkiller has cpu issues afterall? I need to test this further. Thx for ur answer woot332 !
I can confirm the activate windows image also comes back after signing out and signing back in. It never shows while your in any particular account after 3 hours 15 mins from original boot, if didnt appear in the menu from an initial cold boot.
See it comes back I created a service and it seems to run fine with my method now. The desktop watermark is in shell32.dll.mui, but could we do it the same way as the activation watermark? so we can keep everything in the original state? that would be nice. I can only see that the explorer mainthread holds the desktop watermark
Only solution at the moment is if you change accounts sign in then reboot. Don't know how often people change accounts.
hmm the service I created seems to fail. the service is running earlier than the explorer is loaded so the thread doesn't exists and the service stops for an hour. hmmm
Then it would occur at the same time (after Explorer has shown the watermark). No the best action would be to make the service try every 250ms for 1 minute, if your serious about using a service to stop the watermark, it's still a race condition tho, so we really need to find a way to disable the shown watermark once it's shown, if using this method. woot332 have you had any luck figuring out x64 twinui.dll yet? because your patch on x86 doesn't have these issues and I would still like to see your method of blank text and mask images used instead of a thread control.
I know where the code is in twinui.dll, but atm im looking for a simpler patch like maybe a license check is done before the code decides to draw the watermark.
I found something interesting. This is why the activate image appears in the menu at start-up sometimes. When you keep the fast startup option in power settings and you restart your machine and check the task manager the uptime is still running from the time you shutdown. So if the uptime is greater than 3.15 hours and you reboot the machine the thread killer isn't running while the PC was "asleep" but the timer is and sees the OS inactivated upon restart because thread killer doesn't execute immediately on reboot from the startup folder. The weird thing is you think the pc is completely shut down and even boots from the bios but in reality its still asleep. Turning off fast startup for X64 seems to have fixed it because the uptime is reset. So this is what I did to stop the activate watermark 1. install windows 8 2. install the x64 patch by sephirothrx7 3. turn off fast startup and reboot 4. whenever logging out of an account to sign into a different account don't sign in to that account straight away, but press the power button, reboot the PC and log in as per usual.
Would you mind doing a quick temporary twinmui.dll fix for x64 ala your x86 fix, while we wait for the "simpler patch". Thanks in advance.