Skip to content

Conversation

@roflcopter4
Copy link

This is a more straightforward change I made that fixes the right click menu over the Start button, which wasn't working at all.

I was going to include a fix for the EnsureXAML function but I see @Amrsatrio already submitted something along those lines. In fact, I'm almost positive that whole routine can be deleted. I've deleted it in my fork.

@valinet
Copy link
Owner

valinet commented Sep 26, 2023

@Amrsatrio What's your input on this? On my side, Win+`X works on OS build 22621.2283, EP 22621.2361.58.1, ofc after symbols download.

@Amrsatrio
Copy link
Collaborator

Can confirm even on RP builds without symbols, ofc without using any tweaks other than TranslucentTB and OldNewExplorer. They're just broken due to software that hooks our needed functions before we find for them (when symbols are not yet available).

The real thing that needs fixing is making the pattern scans scan the DLL from the filesystem instead from memory to allow compatibility with other tweak software.

In my opinion, I'm just afraid that we have to keep the mantra "if it works, don't fix it".

@mexmer
Copy link

mexmer commented Oct 8, 2023

for me, right click on start menu doesn't work at all.
windows 11 21H2 build 22000.2295

i could check if build with proposed fix works, if someone published binary of it.

@Amrsatrio
Copy link
Collaborator

@mexmer If that happens with latest EP and latest version of 22000 please make an issue. Afaik the latest one is 22000.2416

@mexmer
Copy link

mexmer commented Oct 8, 2023

i'm somewhat limited regarding updating release version of windows, in work we have central management, which keeps us at 21H2, until 22H2 is officialy approved. (mind it's enterprise edition of windows)

@mexmer
Copy link

mexmer commented Oct 8, 2023

but seems after restart, with lastest build of explorer patcher, right menu is back ... so i would say it works. maybe update was not complete (i did restart explorer.exe trough task manager, before)

@roflcopter4
Copy link
Author

I looked into this again and I can say that it doesn't work for me anywhere I've tested it, and really shouldn't work. The second parameter to the CreateWindowInBand function is of type ATOM, which is a 16-bit integer. Passing a string as the second parameter shouldn't work. It ought to be truncated from the 64-bit pointer down to 16-bits. If it is somehow working for you it probably means your compiler isn't doing what it is supposed to do.

It could be fixed by changing the type of that parameter, but I'd like to mention that there isn't any need to do it this way anyway. We already know the atom from registering the class! Just pass it as I did in my code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants