Skip to content

Instantly share code, notes, and snippets.

@chhaugen
Last active July 2, 2026 05:13
Show Gist options
  • Select an option

  • Save chhaugen/5bb457f0ad34d6694a50c0a6a1915f9e to your computer and use it in GitHub Desktop.

Select an option

Save chhaugen/5bb457f0ad34d6694a50c0a6a1915f9e to your computer and use it in GitHub Desktop.
LittleBigMouse non-admin user workaround

Here is how i made LittleBigMouse work, even though my own account is non-admin.

  1. Set up the program as you would with an admin account.
  2. Specify to "Load at startup".
  3. Press play and verify.
  4. While everything is working, kill every Little Big Mouse process. This will keep the current "command" active.
  5. Go back to your own, non-admin user.
  6. Pres Win + R and run shell:startup
  7. Create the file LaunchLittleBigMouseHook.vbs and paste the content of the file below.
  8. Use shell:startup folder do the heavy lifting. Search for hook in Task Manager and see it launch.
  9. Reboot and test. The hook application should run in the background.

According to this line in the hook appliacation, which can be run by non-admin, it expects the config XML to be at a spesific relative path, where when it's run from the UI, it uses an absolute path. To make it use the same path in demon mode, just set the shortcut's "Start in" to "C:\ProgramData".

Set shell = CreateObject("WScript.Shell")
shell.CurrentDirectory = "C:\ProgramData"
shell.Run """C:\Program Files\LittleBigMouse\LittleBigMouse.Hook.exe""", 0
@iPhpwn4

iPhpwn4 commented Mar 11, 2026

Copy link
Copy Markdown

You sir, are an absolute legend!
Nothing I tried would enable the load at startup feature for me.
Your solution solved the problem.
Thank you.

@Pavel-Sushko

Copy link
Copy Markdown

Hey, had to pop in to confirm this works! Thank you

@CodingSquirrel

Copy link
Copy Markdown

For anyone else that's like me and has a family computer that is shared between multiple people I've come up with a similar solution to getting that working. The above workaround helped me come up with it, and it's also a place that's pointed to from discussions on the main repo, so I figured I'd share here.

A little background is, from what I can gather, the program running on one user will prevent it from running on any others. So if only one user logs into the computer it should be fine. But if one logs in, then switches to another user then it won't work correctly.

My solution was to create some tasks in the Windows Task Scheduler. This is in lieu of creating the vbs file suggested above, but accomplishes the same goal. If you have "Load at startup" enabled then you'll see a task already for each of your admin users that are something like "LittleBigMouse_<computer_name>_<user_name>". We'll be creating new similar ones and turning off the "Load at startup" setting, because otherwise LittleBigMouse will overwrite our changes to the tasks any time you save settings in the app. For now you can leave it on as a reference.

For admin users:

  1. Create a task that's distinctly different from the name of the one generated by the program, so that it's not deleted or overwritten by LittleBigMouse. I chose LittleBigMouse_Launch_<user_name>
  2. For general tab, set it to run as the appropriate user, have it run only when logged in, and run with the highest privileges
  3. Add two triggers, one At log on and the other On workstation unlock, and have both run for the Specific user
  4. For action, Start a program and set "C:\Program Files\LittleBigMouse\LittleBigMouse.Ui.Avalonia.exe" as the Program, with the Start in set to "C:\Program Files\LittleBigMouse". You may need to surround the path with quotes. If these don't match the values in the task created by LittleBigMouse, then use those instead.
  5. Save the task and repeat for all admin users

For non-admin users:

  1. Create a task, the name here is unimportant as long as it doesn't clash with those generated by the program. Again, I went with LittleBigMouse_Launch_<user_name>
  2. For general tab, set it to run as the appropriate user, have it run only when logged in, and run with the highest privileges
  3. Add two triggers, one At log on and the other On workstation unlock, and have both run for the Specific user
  4. For action, Start a program and set "C:\Program Files\LittleBigMouse\LittleBigMouse.Hook.exe" as the Program, with the Start in set to "C:\ProgramData"
  5. Save the task and repeat for all non-admin users

The difference between the admin and non-admin tasks is whether they call the UI or the Hook executables, and what they pass for "Start in". To account for people switching users after logging in, we trigger on both the log in state and the unlock states.

Now we also need one last task, to forcefully kill any running instances when we go to switch users:

  1. Create a task to kill existing instances. I named it LittleBigMouse_Kill
  2. For general tab, set it to run as the "SYSTEM" user.
  3. Add a trigger for On workstation lock and have it run for Any user
  4. For action, Start a program and set "taskkill" as the Program, with the Arguments "/f /im LittleBigMouse.*"
  5. Save the task

Once you are done with setting up the new tasks, you can turn off "Load at startup" inside LittleBigMouse, to remove the autogenerated tasks. This leaves only the tasks we created.

Now when you go to switch users it will kill the existing instances of LittleBigMouse, so that it can be restarted for the new user. The reason for using both login and unlock triggers is to capture both initial logins, and switching without logging out.

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