Article image
RAPHAEL SOARES
RAPHAEL SOARES29/09/2024 10:24
Compartilhe

Usando Python para programar o PC para desligar sozinho

  • #Python

Olá! Neste artigo eu disponibilizo dois scripts Python que faz seu o PC ser programado para desligar sozinho e com opções de tempo pré-programadas para desligá-lo.

O 1º script possui interface gráfica e o segundo não.

Para você utilizar ambos os scripts você tem que ter instalado o Python no seu computador e abrir o arquivo com o Python, conforme demonstrado abaixo:

image

Script com Interface Gráfica

Nesse script aparecerá uma janela com 9 opções, sendo 8 para você escolher em quanto tempo você quer que o computador desligue e a última para fechar a janela:

image

Ao escolher uma das opções, o computador automaticamente irá acessar o prompt de comando e definirá o agendamento para desligar o computador. No final, aparecerá uma tela informando confirmando quando o computador será desligado:

image

Script SEM Interface Gráfica

Nesse script vai aparecer uma lista de opções em em um prompt de comando e, em "Sua escolha", digite o nº de uma das opções desejadas:

image

Código-fonte e Download

Segue abaixo o link dos scripts no GitHub:

https://github.com/phael8919/desligar_o_computador

Segue abaixo o código-fonte com interface gráfica:

import pyautogui as auto
from tkinter import *
from tkinter import messagebox

tela = Tk()
tela.geometry('510x300')
tela.title('Agendar para desligar o PC')

def desligar(escolha):    
  auto.sleep(2)
  auto.hotkey('win','r')
  
  auto.sleep(2)
  auto.typewrite('cmd')
  
  auto.sleep(2)
  auto.press('enter')
  
  auto.sleep(4)
  auto.typewrite(f'shutdown -s -f -t {escolha}')
  
  auto.sleep(2)
  auto.press('enter')
  
def btn1():
  return desligar(60)

def btn2():
  return desligar(60*5)

def btn3():
  return desligar(60*10)

def btn4():
  return desligar(60*15)

def btn5():
  return desligar(60*30)

def btn6():
  return desligar(60*60)

def btn7():
  return desligar(60*120)

def btn8():
  return desligar(60*180)

def btn9():
  tela.destroy()    
  


rotulo = Label(tela, text="Clique em uma das opções desejadas:", font='Arial 20')
rotulo.grid(row=1,column=1, pady=20, padx=15, columnspan=3)

botao1 = Button(tela, text='01 Min.', font='Arial 15', command=btn1)
botao1.grid(row=2,column=1, pady=10, padx=10)

botao2 = Button(tela, text='05 Min.', font='Arial 15', command=btn2)
botao2.grid(row=2,column=2, pady=10, padx=10)

botao3 = Button(tela, text='10 Min.', font='Arial 15', command=btn3)
botao3.grid(row=2,column=3, pady=10, padx=10)

botao4 = Button(tela, text='15 Min.', font='Arial 15', command=btn4)
botao4.grid(row=3,column=1, pady=10, padx=10)

botao5 = Button(tela, text='30 Min.', font='Arial 15', command=btn5)
botao5.grid(row=3,column=2, pady=10, padx=10)

botao6 = Button(tela, text='01 Hor.', font='Arial 15', command=btn6)
botao6.grid(row=3,column=3, pady=10, padx=10)

botao7 = Button(tela, text='02 Hor.', font='Arial 15', command=btn7)
botao7.grid(row=4,column=1, pady=10, padx=10)

botao8 = Button(tela, text='03 Hor.', font='Arial 15', command=btn8)
botao8.grid(row=4,column=2, pady=10, padx=10)

botao9 = Button(tela, text='  Sair.  ', font='Arial 15', command=btn9, fg='red')
botao9.grid(row=4,column=3, pady=10, padx=10)
          

tela.mainloop() 

Segue abaixo o código sem interface gráfica:

#Script para agendar o desligamento do computador
import pyautogui as auto

tempos = {
  1:60,
  2:300,
  3:600,
  4:900,
  5:1800,
  6:3600,
  7:7200,
  8:1080
}

escolha = int(input(
""" #### AGENDAR O DESLIGAMENTO DO COMPUTADOR ####
 
  Escolha as opções:
  [1] 1 minuto
  [2] 5 minutos
  [3] 10 minutos
  [4] 15 minutos
  [5] 30 minutos
  [6] 1 Hora
  [7] 2 Horas
  [8] 3 Horas
  [9] Sair
  
Sua escolha: """))

try:
  if escolha == 9 or escolha not in tempos.keys():
      print('Você escolheu cancelar a execução do script.\nSeu computador não será desligado.')      
  else:
      auto.sleep(2)
      auto.hotkey('win','r')
      
      auto.sleep(2)
      auto.typewrite('cmd')
      
      auto.sleep(2)
      auto.press('enter')
      
      auto.sleep(4)
      auto.typewrite(f'shutdown -s -f -t {tempos[escolha]}')
      
      auto.sleep(2)
      auto.press('enter')
except:
  print('Você escolheu cancelar a execução do script\nSeu computador não será desligado')
Compartilhe
Comentários (7)
Renata Bezerra
Renata Bezerra - 29/09/2024 14:55

Muito legal :) Parabéns pelo projeto e obrigada por compartilhar!

Essa biblioteca para automação é muito legal de explorar.

No momento, ando fazendo experimentos com o clique na área de trabalho. É mais chatinho kkkk, demoro a acertar!


Essa é a parte inicial de um dos testes:


import time

import pyautogui

pyautogui.PAUSE = 0.5   # esse comando atribui esse tempo de espera para cada comando pyautogui

pyautogui.press('win')

pyautogui.write('chrome')

pyautogui.press('enter')


x, y = 1170, 500  # Substitua pelas suas coordenadas

pyautogui.moveTo(x, y, duration=8)  # Mova para as coordenadas em 1 segundo

time.sleep(0.5)  # Atraso adicional antes de clicar apenas nos locais onde eu utilizei

pyautogui.click(x, y)


continua de acordo com o que deseja fazer na área de trabalho...


Enfim, seguimos estudando e experimentando possibilidades!



Gláuber Vieira
Gláuber Vieira - 29/09/2024 12:31

Show de bola!


Lincoln Bauer
Lincoln Bauer - 29/09/2024 12:29
Parabéns pelo projeto, show de bola!
Julia Rocha
Julia Rocha - 29/09/2024 12:05

Ficou muito legal esse projeto.

Alex Rabelo
Alex Rabelo - 29/09/2024 12:03

Parabéns pelo projeto.

Raphael Silva
Raphael Silva - 29/09/2024 11:33

Top

Kaio Dias
Kaio Dias - 29/09/2024 10:40

Muito legal o seu projeto. Parabéns