Page 1 of 1

ABC para Novatos 5: TRUCOS ÚTILES

Posted: 12 Nov 2016, 17:28
by Guill
Lo siguiente, son algunas utilidades muy prácticas.


1. PONER LO SIGUIENTE AL COMIENZO DEL SCRIPT. PERMITIRÁ VOLVER A CARGAR (Reload) EL ARCHIVO SÓLO CON UN HOTKEY.
Es imprescindible que esté al principio.

Code: Select all

Process, Priority,, High
F12::
reload
SetKeyDelay -1
Return
2. CARTEL DE FECHA Y HORA DE ESE MOMENTO

Code: Select all

!F3::
FormatTime, CurrentDateTime,, HH:mm d/M/yyyy
MsgBox, %CurrentDateTime%
Return
SI SE QUISIERA QUE EL PROGRAMA ESCRIBA LA FECHA COMO TEXTO,
DEBERÍA SER

Code: Select all

!F3::
FormatTime, CurrentDateTime,, HH:mm d/M/yyyy
SendInput %CurrentDateTime%
Return


3. MUESTRA LAS COORDENADAS DEL MOUSE, PARA PODER USARLAS CUANDO NECESITAMOS PRECISAR DÓNDE SE CLICKEA.
Si uno necesita saber dónde debe ubicarse el mouse para que clickee en determinado punto de la pantalla, esto sirve para conocer cuáles son las coordenadas de un determinado punto, una vez que uno lo ubicó donde lo necesita.

Code: Select all

+#k:: ; POSICIÓN MOUSE - COORDENADAS X Y
MouseGetPos, xpos, ypos
MsgBox, El mouse está en X = %xpos%     Y = %ypos%.
Return


Entonces, si el resultado es
"El mouse está en X = 521 e Y = 435"

En el script que queremos modificar o crear, deberá figurar

Code: Select all

Click, 521, 435
O bien

Code: Select all

Click, Right, 521, 435

Si uno quisiera que haga un click con el botón derecho.



4. MOSTRAR TÍTULO Y CLASS DE UNA DETERMINADA VENTANA
(ÚTIL PARA USAR CON #IFWINACTIVE)

Code: Select all

#k:: 

WinGetClass, class, A
WinGetTitle, Title, A
Msgbox, 
(
Título es "%Title%" 
Class es "%class%" 
)
Return
5. BUSCAR EN YOUTUBE, PERO QUE INCLUYA EL FILTRO "ENCONTRAR MÁS RECIENTE".
(si a menudo queremos saber qué es lo último sobre determinado tema, esto va a servir
para no tener que hacer el filtrado manualmente cada vez).

ABRIRÁ UNA VENTANA (pedida con "InputBox, Var"), EN LA QUE UNO DEBE ESCRIBIR UNA PALABRA O FRASE QUE SE QUIERE ENCONTRAR

Code: Select all

#!F1::
InputBox, Var
Run https://www.youtube.com/results?search_sort=video_date_uploaded&search_query=%Var%
Return



6. APAGAR - REINICIAR - HIBERNAR la computadora

Con un cartel previo que pide la confirmación (por si lo activamos sin querer)

Code: Select all

; APAGAR
#PrintScreen::
MsgBox, 4, , Seguro que quiere APAGAR la PC?
IfMsgBox Yes
Shutdown 8
Return

Code: Select all

; REINICIAR
#Break::
MsgBox, 4, , Seguro que quiere REINICIAR la PC?
IfMsgBox Yes
Shutdown 2
Return

Code: Select all

; HIBERNAR
#h::
MsgBox, 4, , Seguro que quiere HIBERNAR la PC?
IfMsgBox Yes
Run, Shutdown /h
Return


7. ASIGNAR DOS ACCIONES A UNA MISMA TECLA - LA PRIMERA VEZ QUE SE PULSE REALIZARÁ LA ACCIÓN 1 (Abrir Bloc de Notas), LA SIGUIENTE, LA ACCIÓN DOS (abrir Calculadora), LA TERCERA VEZ, VUELVE A LA ACCIÓN 1, Y ASÍ SUCESIVAMENTE.

Code: Select all

X::
MyFunc3() 
MyFunc3() { ; function 'MyFunc1'

static boolean := false 
if (boolean:=!boolean) 
           Run Notepad ; ACCIÓN 1
Return

} 
else {
         Run Calc ; ACCIÓN 2
Return

}
Return

8. ACTIVAR O DESACTIVAR WI-FI CON UNA SOLA TECLA (en este caso WIN + F12)
(Funciona seguro en Windows 8.1. Ignoro si en todas las versiones)

Code: Select all

$#F12::

ToggleWiFi()  {
   wmi := ComObjGet("winmgmts:")
   for adapter in wmi.ExecQuery("Select * from Win32_NetworkAdapter")
      if InStr(adapter.name, "wireless") && (interfaceName := adapter.NetConnectionID) && status := adapter.NetConnectionStatus
         break
      
   if (interfaceName = "" || status = "")  {
      MsgBox, Failed to get the interfaceName!
      return
   }
   if status not in 0,2   ; Disconnected = 0, Connected = 2
   {
      Loop  {
         Sleep, 500
         for adapter in wmi.ExecQuery("Select * from Win32_NetworkAdapter Where Index=" . adapter.Index)
            status := adapter.NetConnectionStatus
      } until status = 0 || status = 2 || (A_Index = 20 && failed := true)
      if failed  {
         MsgBox, Failed to get the status!
         return
      }
   }
   Run, % (A_IsAdmin ? "" : "*RunAs ") . "netsh.exe interface set interface name="""
                                       . interfaceName . """ admin="
                                       . (status = 0 ? "en" : "dis") . "abled",, Hide
}
Return

_____________________________________________________

Aclaro que no soy conocedor profundo del programa. Sólo sé lo que comparto. Ojalá les sea útil.

Re: ABC para Novatos 5: TRUCOS ÚTILES

Posted: 12 Jun 2020, 15:32
by maledimi
Brother, te aviso que este código no me está funcionando... me dice que estan mal todas las lineas practicamente cuando solo hice un copy and paste
me refiero a este:

Code: Select all

X::
MyFunc3() 
MyFunc3() { ; function 'MyFunc1'

static boolean := false 
if (boolean:=!boolean) 
           Run Notepad ; ACCIÓN 1
Return

} 
else {
         Run Calc ; ACCIÓN 2
Return

}
Return
Adjunto imagen del error que arroja

Re: ABC para Novatos 5: TRUCOS ÚTILES

Posted: 01 Mar 2021, 16:49
by rzapataq
tenes malos los Return

Re: ABC para Novatos 5: TRUCOS ÚTILES

Posted: 01 Mar 2021, 17:44
by sofista
Ahí lo corregí, ahora funciona bien :)

Code: Select all

X::
MyFunc3() 
MyFunc3() { ; function 'MyFunc1'
	static boolean := false 
	if (boolean:=!boolean) {
		Run Notepad ; ACCIÓN 1
		Return
	} else {
		Run Calc ; ACCIÓN 2
		Return
	}
}
Return