Detectar tecla shift en un batch JavaScrip

Iniciado por nolo2, 9 Diciembre 2012, 20:05 PM

0 Miembros y 5 Visitantes están viendo este tema.

nolo2

Buenas tardes....
Es mi primer post y ceo que lo primero debe ser presentarse. Un amigo me habló hace tiempo de la potencia del Javascrip para la automatización de tareas y me ayudó con los primeros pasos. Luego descubrí que existía el vbs pero ya me había aficionado al .js y tengo unas cuantas cosas que utilizo habitualmente.
El Javascrip da muy pocas facilidades a la hora de modificar el flujo de un programa y se me había ocurrido que una posibilidad de aumentarlas sería detectar que estubiera pulsada alguna de las teclas como <shift> <Ctrl> <Alt> etc

Podría alguien indicarme algún CreateObject que me diera acceso a esa informació. Suelo terminar traduciendo de vbs a js a si que me valdría cualquier solución en vbs. Veo que aqui hay poco sobre el uso de javascrip que no sea sobre web......

Agradecido por vuestra atención ... ;D


0x5d

Hola, buen día.

Primero que todo , Batch es una cosa y javascript otra. La única "similitud" (no aceptada por muchos) es que ambos son lenguajes Scripting. javascript trabaja a nivel web, mientras que Batch a nivel escritorio.

Saludos , 0x5d.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

Novlucker

javascript se puede utilizar a nivel de escritorio al igual que vbs :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Segadorfelix


Novlucker

Por ejemplo:
Código (javascript) [Seleccionar]
var fso = new ActiveXObject("Scripting.FileSystemObject");
var folder = fso.GetFolder("C:\\Users\\");
var f = new Enumerator(folder.subFolders)
for (; !f.atEnd(); f.moveNext())
{
WScript.Echo(f.item().Path);
}


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Segadorfelix

En el foro hay algún tutorial de javascript?


nolo2

Perdonarme la tardanza pero solo me puedo conectar sobre estas horas.. :silbar:

No me esperaba eso. Los scrip de javascript .js son tan útilews como los .vbs.
PEjem..
Copiar esto en el notepad y luego de guardarlo renombralo como corrector.vbs
wscript.Echo (corrector())

Function Corrector()
set documento= Createobject ("Word.Application")
documento.Visible= False
set spellDoc =documento.Documents.Add
documento.Selection.Paste
spellDoc.CheckSpelling()
spellDoc.Close False
documento.Quit True
End Function


Este batch/script ( o como se deba llamar), lo saqué de una revista y lo que hace es llamar al correcctor de word a una ventana y comprobar el texto contenido en el portapapeles.
En javaescript sería como mas abajo renombrando el .txt como corrector.js
WScript.Echo (corrector());
function corrector (){
var documento = WScript.Createobject ("Word.Application");
documento.Visible= false;
var spellDoc = documento.Documents.Add();
documento.Selection.Paste();
spellDoc.CheckSpelling();
documento.ActiveDocument.Close(0);
documento.Quit(0);
return ("        Finalizado");
}


Este otro, si lo pasais a .js,  lo que haría si pulsais sobre él, es crear un acceso directo a la carpeta "Enviar a" en el sitio (carpeta donde este el js) para localizar facilmente donde poner accesos directos y mandar archivos señalados a programas no registrados var WshShell = new ActiveXObject("WScript.Shell");

strSendto = WshShell.SpecialFolders("SendTo");

var WSHShell = WScript.CreateObject("WScript.Shell");
var MyShortcut = WSHShell.CreateShortcut("Enviar A"+".lnk");
MyShortcut.TargetPath = strSendto;
MyShortcut.Save();

El javascrip es utilísimo para los procesos por lotes y a mi me gusta mas que el vbs porque se parece mas al lisp.
En la documentación antigua de microsoft siempre figuraba una solución .js y otra .vbs lo que pasa es que van perdiendo la costumbre y solo le dan solución al vbs.....  :-(

nolo2

Volviendo a mi tema  ;D

He encontrado todo esto
http://msdn.microsoft.com/es-es/library/system.windows.forms.keyeventargs.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.processcmdkey(vs.71).aspx
http://msdn.microsoft.com/es-es/library/system.windows.forms.keys.aspx
Soy NOVATO, NOVATO, NOVATO :rolleyes: (aunque me maneje un poco en .js) y no se como se puede hacer una llamada para usarlo.

De verdad que agradecería mucho la ayuda del foro :huh:


Segadorfelix

Gracias por la respuesta, esta excelente el código del "corrector". :)
Saludos

Novlucker

Bueno, mi único comentario fue para decir que javascript si se podía usar para automatizar algunas tareas, pero de cualquier modo no creo que sea lo que necesitas para el tema de las teclas. ¿Has probado alguna vez Autoit? Es muy parecido a vbs, y lo consulto para no sugerirte directamente pasar a otro lenguaje :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein