|
10021
|
Programación / Scripting / Re: Amigo Batchero
|
en: 12 Diciembre 2012, 22:20 pm
|
Es util porque lo puedes implementar a otros lenguajes. Eso es cierto, pero a la vez es una tontería engañosa, Un lenguaje tiene sus propios métodos y funciones para hacer todo lo que haces con Batch, un lenguaje de scripting/programación no depende de Batch, ¿Entonces porque usarlo?, ¿Porque debe ser útil?. Una cosa es usar un lenguaje dentro de otro lenguaje porque séa totálmente necesario o porque no véas otra salida (Por ejemplo javascript dentro de un HTML, o un VBS dentro de un Bat), y otra cosa muy distinta es tener la mala costumbre de usar Batch porque pienses que es más útil usar Batch que los métodos del propio lenguaje (Por ejemplo usar Batch en VisualBasic o en C...). Por ponerte un ejemplo, en el HTA usas VBS porque es totálmente necesario usarlo, no te da otra opción por si misma (Podrías usar JS en vez de VBS, pero en fin, te obliga a usarlo), pues eso mismo te pasará con Batch, llegará un momento en que necesitarás hacer algo diferente y te darás cuenta que Batch no dispone de recursos nativos para hacer eso, y tendrás sólamente dos opciones: 1. Buscar un software commandline de terceros que haga la taréa que necesitas en Batch. 2. Hacer caso de nuestros consejos y aprender CUALQUIER otro lenguaje, porque seguramente tendrá métodos nativos para realizar esa taréa, Batch se queda muy corto cuando lo conoces. Saludos.
|
|
|
10022
|
Programación / Scripting / Re: Problemas al simular enter con nircmd y pause
|
en: 12 Diciembre 2012, 18:37 pm
|
Hola Con echo p, que es lo que consiguo? Que se ejecute la aplicacion justo como antes y siga mostrando el pause que esta dentro del codigo de vid_fix.exe?
Me di cuenta perfectamente de que el pause era del programa, por eso te dije que usases aquél comando, lo que hace es mandar la tecla "P" al programa, y eso debería solucionar el problema, parece que sí te lo ha solucionado, me alegro. PD: Intenta no hacer doble post. Saludos
|
|
|
10024
|
Programación / Scripting / Re: Como puedo hacer un launcher asi, con VBS o con HTML, decidme
|
en: 12 Diciembre 2012, 16:37 pm
|
me arte a buscar y no encontre absolutamente NADA. No me lo creo! Google + "read textfile vbs"En la primera entrada tienes la solución. EDITO: <script language="VBScript"> Sub Window_Onload strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor") For Each objItem in colItems intHorizontal = objItem.ScreenWidth intVertical = objItem.ScreenHeight Next intLeft = (intHorizontal - 510) / 2 intTop = (intVertical - 430) / 2 window.resizeTo 510,430 window.moveTo intLeft, intTop ' Aquí lees la linea del archivo de texto set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("User.txt",1) strLine = objFileToRead.ReadLine() objFileToRead.Close document.getElementById("username").value = strLine End Sub </script>
|
|
|
10027
|
Programación / Scripting / Re: [BATCH]Hallar ubicacion de un programa que se este ejecutando
|
en: 12 Diciembre 2012, 09:11 am
|
Tanto en Batch como en VBS como en cualquier otro lenguaje de scripting xD, usando WMIC.exe y/o WMI (En batch es necesario usar el executable, claro...) Batch: :: Todos los procesos wmic process get name,ExecutablePath /format:list
:: El proceso "CMD.exe" wmic process where name="cmd.exe" get ExecutablePath
VBS: ' Todos los procesos strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.InstancesOf("Win32_Process") For Each objItem In colItems Wscript.Echo (objItem.Name & vbnewline & objItem.ExecutablePath) Next
' El proceso "CMD.exe" strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process " & "Where Name = 'cmd.exe'") For Each objProcess in colProcess Wscript.Echo (objProcess.Name & vbnewline & objProcess.ExecutablePath) Next
|
|
|
10028
|
Programación / Scripting / Re: Amigo Batchero
|
en: 12 Diciembre 2012, 08:55 am
|
Estoy totalmente deacuerdo Leo, recuerdo como me dijiste exactamente las mismas palabras, el mismo consejo, cuando yo era un completo novato en Batch.
Quizás estará un poco mal visto que los moderadores digamos que programar en Batch es una pérdida de tiempo, pero es la pura realidad, ni siquiera se le puede llamar programar.
Opino que lo más correcto para alguien que trabaja sobre Windows sería aprender Batch hasta un nivel medio (El uso del FOR sobre todo) simplemente para manejarse bien con Batch y salir de algún apuro en Windows, porque siempre puede surgir alguna tarea que necesite automatizar en el sistema, y con Batch es muy fácil porque Batch es FÁCIL, pero cuando ya sepan como funciona Batch, olvídenlo y empiecen a programar en otro lenguaje.
PD: Se te hecha en falta por la sección.
Un saludo!
|
|
|
10029
|
Programación / Scripting / Re: [Python] Compilar de .py a .exe ayuda!
|
en: 12 Diciembre 2012, 08:49 am
|
No le va a funcionar, dijo que usa py 3.X No me funciono :S Da más detalles del problema, ¿que significa "no me funcionó"?, ¿La consola se sigue cerrando, o te salta algún error? Ejecuta el exe directamente DESDE la cmd para ver detalles del error (No lo ejecutes haciendo doble click sobre el archivo) Saludos!
|
|
|
10030
|
Programación / .NET (C#, VB.NET, ASP) / Re: Como aplicar cambios al registro y refrescar el sistema sin tener que reiniciar?
|
en: 11 Diciembre 2012, 18:05 pm
|
¿Alguien puede echarme una mano? Me gustaría ir paso por paso con esta APP y el problema es que no sé mandar el post adecuado en la API para poder refescar el sistema, intento refrescar los iconos de "Mi PC", debería salir un nuevo dispositivo conectado/ocultado al refrescar, me niego a continuar desarrollando esta APP sin poder resolver ese detalle (Quiero hacer las cosas bien xD). He probado distintas combinaciones, tanto con "PostMessage" como "SendMessage": <DllImport("user32.dll")> _ Private Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean End Function Private Shared Function SendMessage(ByVal hWnd As Integer, ByVal wMsg As UInteger, ByVal wParam As UInteger, ByVal lParam As UInteger) As Integer End Function
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "HideDrivesWithNoMedia", 1, Microsoft.Win32.RegistryValueKind.DWord) Call PostMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, INI_INTL)
Gracias por leer.
|
|
|
|
|
|
|