Question for someone with sysutils and Windows 10

May 20, 2008
9,144
58
Syracuse, NY, USA
I discovered that "OPENCP" and "OPENCP /L" work on Windows 10 (to open the control panel or list and index the canonical names of the cp items). But, for me, "OPENCP name" and "OPENCP index" don't work. I had to rewrite the plugin a little to figure out the error and it seems to be "access denied". So I'm wondering if they work for anyone. For example, "OPENCP Microsoft.System" or "OPENCP 32".

Thanks!
 
May 29, 2008
536
3
Groton, CT
Code:
~\Work> OPENCP Microsoft.System
TCC (SYSUTILS) The specified item was not found:
"Microsoft.System"
(%?=2, %_?=2)
~\Work> opencp 32
TCC (SYSUTILS) The specified item was not found:
"Microsoft.ProgramsAndFeatures"
(%?=2, %_?=2)
~\Work>
The stuff in parentheses are the status codes %? and %_?, of course.
 
May 20, 2008
9,144
58
Syracuse, NY, USA
Code:
~\Work> OPENCP Microsoft.System
TCC (SYSUTILS) The specified item was not found:
"Microsoft.System"
(%?=2, %_?=2)
~\Work> opencp 32
TCC (SYSUTILS) The specified item was not found:
"Microsoft.ProgramsAndFeatures"
(%?=2, %_?=2)
~\Work>
The stuff in parentheses are the status codes %? and %_?, of course.
Yup, that's what happened here at first. Those messages were my easy way of handling any failure. I added code to report the error more accurately and figured out that it's ERROR_ACCESS_DENIED.

The funny thing is that IDENTICAL code in a stand-alone test EXE does work on Windows 10.
 
May 20, 2008
9,144
58
Syracuse, NY, USA
Did you run your standalone test exe with elevated privileges?
Yes, the stand-alone tests work, elevated or not. It fails in TCC, elevated or not.

Even stranger ... the code is only a handful of lines. The failure happens here (essentially, paraphrased, and for example)

Code:
IOpenControlPanel::Open(L"Microsoft.System, NULL, NULL)
It also fails if I put it into a different and unrelated plugin DLL. At the same time, the likes of this (essentially the same?) works

Code:
ShellExecute(L"shell::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}", ...);

So if I can't figure out why it fails, I do have an alternative for the plugin.

And, if anyone's interested, if you know the canonical names, this (for example) will work at the command line.

[code]control /name Microsoft.System