Quicker需要提权运行,只能安装在Program Files目录中。
请勿将Quicker目录拷贝到其他位置运行。
由于Windows的安全机制,普通级别的程序,无法和高级别权限的程序交互。如果Quicker以普通权限运行,会造成在一些高权限的软件中,会无法激活quicker面板,也无法向他们发送按键和文本。这样会整体影响quicker的体验。如果不需要提权,可以把quicker目录整个复制出来到别的目录直接运行,只要有.net环境即可。
提权主要有几个要求:启用uiAccess设置、安装到windows信任的目录(program files)里、使用付费的代码签名证书对程序签名(防止篡改)等。
Applications running at normal privilege levels are NOT allowed to communicate with (i.e.; send messages to) applications running at higher privilege levels (e.g. the SendMessage API reports success but your message never reaches the target application running at a higher privilege).
If your application needs to send messages to all applications, regardless of their privilege level:
1 - The uiAccess flag MUST be set to True in your application's manifest.
2 - Your code MUST be digitally signed (which means you must pay MS for a digital certificate).
3 - Your application MUST reside in a trusted location (e.g.; Program Files), otherwise the uiAccess flag is ignored (so much for the user choosing where to place your application on THEIR hard drive).
Regardless of the state of the uiAccess flag, your application will always be able to send messages/drive input to windows of applications running at privilege levels equal to or less than your own privilege level.
Another piece of information in case you are having trouble putting a manifest in your executable (i.e.; the application fails to run with Windows complaining that it failed to initialize properly or something): the size of your manifest must be an exact multiple of 4 (i.e. if it is 253 bytes/characters, then you must pad the end of the manifest text with three spaces).