Olá pessoal!
Dessa vez trago uma contador regressivo (Timer), feito em AutoHotkey.
Na verdade são dois scripts que fazem a mesma coisa de forma diferente.
A diferença é só o padrão de codificação, o primeiro usa a sintaxe mais "solta" do AutoHotkey.
Já o segundo utiliza "orientação a objeto". 
Como Funciona:
Nº 1:
Exibe uma contagem regressiva de 10 segundos na tela, exibindo a mensagem "Sem Créditos" ao final da contagem.
Nº 2:
Exibe um ToolTip com a mensagem "contagem iniciada", faz a contagem regressiva de 10 segundos e exibe a mensagem de "contagem encerrada".
Usem a criatividade e adaptem aos seus projetos:
Código:
;========================================================================================
; Autor: Luis Slipcar (carlito.luiscarlos@gmail.com)
; Função do Script:
; Criar contador de tempo regressivo que sobrepõe qualquer janela ativa
;========================================================================================
;===Inicio do Script==========================
; Variaveis globais
cor := "Black"
tempo := 10
mensagem := "Sem Crédito"
; Cria o contador.
Gui +LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, Color, %cor%
; Tamanho da fonte.
Gui, Font, s32
; Adiona a cor indicada (cWhite) ao texto.
Gui, Add, Text, vJanela cWhite, %tempo%
; Transparecia da cor.
WinSet, TransColor, %cor% 150
; Atualiza contagem a cada segundo.
SetTimer, Atualizar, 1000
; Mostra o overlay na posicão indicada (x e y).
Gui, Show, xCenter y550 NoActivate
return
; Mostra mensagem ao fim da contagem
Fim:
Gui 2: +LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, 2: Font, s32
Gui, 2: Color, %cor%
WinSet, TransColor, %cor% 150
Gui, 2: Add, Text, vFim cWhite, %mensagem%
Gui, 2: Show, xCenter y550 NoActivate
; Atualiza e mostra as variaveis
Atualizar:
tempo --
GuiControl,, Janela, %tempo%
if(tempo == 0){
; Fecha o script
Gui, Destroy
GoSub Fim
sleep 5000
ExitApp
}
return
;=============Fim do Script================================
Código:
;========================================================================================
; Autor: Luis Slipcar (carlito.luiscarlos@gmail.com)
; Função do Script:
; Criar contador de tempo regressivo com ToolTip
;========================================================================================
;===Inicio do Script==========================
; Método pricipal (Main).
contar := new objContador ; Cria o objeto contador
contar.Start()
Sleep 12000
contar.Stop()
Sleep 2000
; Classe da contagem regressiva.
class objContador {
; Método de instância (criação).
__New() {
this.atualizar := 1000 ; Atualiza a contagem a cada segundo.
this.tempo := 11 ; tempo que será mostrado - 1 (10 até 0).
this.contagem := ObjBindMethod(this, "Tick") ; Atribui o método Tick ao this.contagem.
}
; Inicia contagem.
Start() {
contador := this.contagem
SetTimer % contador, % this.atualizar ; Realiza o processo de contagem.
ToolTip % "Contagem iniciada" ; Mostra mensagem e inicia a contagem.
}
; Encerra contagem.
Stop() {
contador := this.contagem
SetTimer % contador, Off ; Para a contagem.
ToolTip % "Contagem encerrada" ; Encerra contagem e mostra a mensagem.
}
; Método que decrementa o tempo (chamado pelo this.contagem).
Tick() {
ToolTip % --this.tempo
}
}
;=============Fim do Script================================
Marcadores