アプリケーション画像

スクリーンセーバー防止ツール

🔧 環境構築手順

1

Pythonのインストール

Python 3.10以上をインストールしてください。

2

コマンドプロンプトの起動

Windowsキー + R を押して「cmd」と入力するか、スタートメニューから「コマンドプロンプト」を起動します。

3

作業ディレクトリへの移動

cdコマンドを使用してプロジェクトを作成したい任意のディレクトリに移動します。

cd C:\Users\YourName\Desktop
4

仮想環境の作成

以下のいずれかのコマンドを実行してf13という仮想環境を作成します。

python -m venv f13
python3 -m venv f13
py -m venv f13
5

仮想環境の有効化

作成した仮想環境を有効化します。

.\f13\Scripts\activate
6

必要なライブラリのインストール

仮想環境内で必要なライブラリをインストールします。

pip install pyautogui FreeSimpleGUI
7

必要ファイルのコピー

エクスプローラーを使用して以下のファイルをf13フォルダにコピーします。

  • start.png - 実行中アイコン
  • stop.png - 停止中アイコン
8

スクリプトファイルの作成

メモ帳を開き、下記のPythonコードを入力してwaiting.pyとして保存します。

※ f13フォルダ内に保存してください

9

実行用バッチファイルの作成

メモ帳を開き、以下の内容を記入して「waiting.cmd」というファイル名で保存します。

※ 「YourFolder」の部分は実際のフォルダパスに置き換えてください

cd C:/YourFolder/f13
C:/YourFolder/f13/Scripts/activate
python waiting.py

このファイルをダブルクリックすることで、仮想環境の有効化とスクリプトの実行が自動で行われます。

📄 Python コード

import FreeSimpleGUI as sg
import time
import threading
import pyautogui
import os


def callback_1():
    while flag:
        for i in range(170):
            time.sleep(1)
            if flag == False:
                break
        if flag == False:
            pass
        else:
            pyautogui.press('f13')



sg.theme('SystemDefaultForReal')
stop_icon = os.path.dirname(os.path.abspath(__file__)) + '/stop.png'
start_icon = os.path.dirname(os.path.abspath(__file__)) + '/start.png'
layout = [
    [
        sg.Image(key='status', filename=stop_icon,size=(20,20)), sg.Button('実行'), sg.Button('停止')
    ]
]
icon_image=b'iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABmJLR0QA/wD/AP+gvaeTAAAAxUlEQVRYhe2YMQrCQBREJ5LeA0l6IeBprDyAlacRAvbBA+UEWikxkP8XZtf9yrxqSUI85s9uQgDB0bwWh9PwqCmy5HruGwBo5xe7blfHZsE43t/rTUWPJCTIIkGW1n/E5rjf0hKX27R6L3yCEmShOwjYHfLwOhw+wfCC5oi9+JnRphI+QQmyuMfMN3pmET7B8IJZ3iQ5vmjWoAVLd7ToiHMkG76DEmQJL+ju4pJHSAqmYO3XHPADI5YgiwRZPnbx/M+m+BeeRV0bpx10FBcAAAAASUVORK5CYII='

window = sg.Window('NoScreenSaver', layout, size=(170,50), icon=icon_image, alpha_channel=1.0)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == '実行':
        window['status'].update(filename=start_icon,size=(20,20))
        th = threading.Thread(target=callback_1)
        flag = True
        th.start()
    elif event == '停止':
        window['status'].update(filename=stop_icon,size=(20,20))
        flag = False

window.close()