💾

管理者権限を保存するアプリ

2024/12/22に公開

Pythonにはまったtaisan11です。
今回は管理者権限で困ってる学生向けに管理者権限を保存するアプリを作りました!!
どんな仕組みで保存してるかと簡単な使い方を解説します。
https://github.com/taisan11/admin-app-runner

使い方

GUI

GUIはシンプルで使いやすいので、正直説明する余地がありません。
...ありました。
まず、管理者権限を付与するときは、Upgrade Administratorボタンを押すとおなじみのポッポアップが出ます。
これはこのアプリを起動するたび、やってください。終了したら、管理者権限も捨てられます...
次に、実行するアプリを選択します。一応ファイルセレクターもついています。
最後にrun!!と書いてる部分を押したら起動します。
他の特徴的な機能としては、設定画面からタイトルとアイコンを変更できます。これで、親をだましてみてください。
あと、タスクバーにずっといるのは邪魔だと思うので、タスクトレイ(右下の奴)に保存する機能もあります。復活させたいときはアイコンを右クリックしてOpenを押すだけです。(アイコンはさぼりました。)

仕組み

普通にPythonアプリを作成するときにも使えると思います。

GUIの実装。

久しぶりにPythonを使用したので、PySimpleGUIを使用しようとしましたが、なんか登録しなきゃいけなくなってたので、互換性のあるTkEasyGUIを使用しました。
https://github.com/kujirahand/tkeasygui-python

管理者権限を付与させる。

ctypesっていうモジュール?を使用しました。管理者権限付きで再起動するっていう感じのコードです。

ctypes.windll.shell32.ShellExecuteW(
    None, "runas", sys.executable, " ".join(sys.argv), None, 1
)

タスクトレイを使ってみる。

タスクトレイは、pystrayを使用して実装しています。

実行。

今回はサブプロセスとして、実行するようにしています。
もしかしたら、一部のアプリと互換性がないかもしれません。

終わりに。

今度は管理者権限を突破するアプリを作ろうと思います。

Discussion