Search the Community
Showing results for tags 'uiaccess'.
-
Firstly, this idea comes from https://github.com/killtimer0/uiaccess Normally, you cannot use the screenshot tool to capture the start menu or the Task manager. But here, if you use the screenshot tool with the UIAccess attribute, you can do this.As shown in the above figure This project is used to obtain UIAccess permissions. It can enable your program window to obtain a higher Z order, such as higher than the Task manager. It is on the same level as the on-screen keyboard. It can be used to solve the problem of window occlusion when making screen markers/recording tools. But here, you don't need to do this!You can put the program anywhere on the hard disk without restrictions. The only thing you need is Administrator permission! The 'TokenUIAccess' attribute is present in the process token, which means that after we raise the permission, we can set this permission through' SetTokenInformation 'to bypass the digital signature and the specified installation path. But after some testing, I finally found that to complete this operation, I must have the 'SeTcbPrivilege' permission, so one solution is to 'steal' a token from other system processes in order to obtain the permission. However, modifying the UIAccess of a running program is invalid, so in the end, a new process can only be started. Although this may have some flaws, it still has better more practical than digital signatures. This UDF requires administrator privileges, but you can still use it to create a process with standard user privileges and uiaccess attributes USAGE: Just include it into your scripts. Example: #include <GUIConstantsEx.au3> #include <_uiaccess.au3> Local $hGUI = GUICreate("Example", 300, 300) Local $Checkbox1 = GUICtrlCreateCheckbox("TOPMOST", 10, 50, 340, 20) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $Checkbox1 If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then WinSetOnTop($hGUI, "", 1) Else WinSetOnTop($hGUI, "", 0) EndIf EndSwitch WEnd 20230711 add: Process SessionId check. 20240221 fix:Some handles were not properly closed _uiaccess.au3