Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: antoniomga en 14 Agosto 2014, 19:11 pm



Título: Dudas
Publicado por: antoniomga en 14 Agosto 2014, 19:11 pm
Hola quería saber si hay alguna forma de crear un vbs o bat que al ejecutarlo me oculte los iconos del escritorio y la barra de tareas a la vez, y que al volver a hacer doble click las muestre, He encontrado una manera pero solo me oculta los iconos pero de la carpeta en la que esta el, con lo cual se oculta también el y para mostrarlo otra vez con otro archivo, pero yo quiero que lo muestre o lo oculte el mismo archivo, ¿se puede?, ayudarme por favor. Se me olvidaba decir que uso Windows 8.1, gracias.


Título: Re: Dudas
Publicado por: Eleкtro en 14 Agosto 2014, 20:57 pm
Para ocultar los iconos del escritorio, puedes hacerlo desde Batch o VBS llamando al comando Attrib.exe:

Código
  1. Attrib.exe +R +A +H +S "%UserProfile%\Desktop\*"

Respecto a lo de ocultar la barra de tareas, Batch es un "lenguaje" (lenguaje entre comillas) muy simple, esa tarea no se puede llevar a cabo ya que requiere usar las funciones FindWindow y ShowWindow de la WinAPI primero para hallar el Handle de la ventana del TaskBar, y luego para asignarle un estado (Visible, Oculto, etc), y Batch no puede hacer nada de eso, como tampoco se puede con un lenguaje simple como VBS.

Lo único que puedes hacer es modificar las propiedades de "Ocultar automaticamente" o "Siempre visible" de la barra de tareas de Windows, mediante el registro, pero ocultar completamente ...NO, a menos que no te importe instalar algún COM de terceros para poder hacer llamadas a la API de windows desde VBS, como este: http://www.vbs2exe.com/call-win32-api.html

EDITO: O como este otro, DynaWrap, donde además te muestran un ejemplo para lllamar a la función que necesitas (FindWindow):
· http://www.qtpsudhakar.com/2009/06/how-to-accessing-windows-api-through.html

En resumen, en Batch y en VBS es imposible hacerlo por si solo, a menos que utilices aplicaciones de terceros como CMDOW o NirCMD en Batch, o instales librerías de terceros como VBS2EXE (XNHost) o DynaWrap para poder acceder a la WinAPI en VBS mediante objetos COM.

En cualquier otro lenguaje (lenguaje de verdad) es una tarea muy sencilla, solo debes usar las funciones que he mencionado de la WinAPI para buscar el título de la ventana "Shell_TrayWnd" y modificar su visibilidad, a penas son más de 10 lineas de código, y eso funcionaría a partir de Windows Vista (7, 8/8.1), para Windows XP se necesitaría una labor mayor.

Saludos