Question for someone with sysutils and Windows 10

May 20, 2008
12,332
134
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!
 
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.
 
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.
 
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
 

Similar threads