Problemas al lanzar una aplicacion en windows 7 con el UAC
Problemas al lanzar una aplicacion en windows 7 con el UAC
Hola compis ha e tiempo que no estoy por aquí y es para ver si me pueden hacer cuando ejecuto un programa.con. el windows 7 no se ejecuta por qué no sale lo del amistrador o como puedo hacer para ejecutar una aplicación de programa con windows 7 pro muchas gracias de ante mano EL CHICHA
- arkcrew
- Profesional del Autoit
- Mensajes: 506
- Registrado: 28 Sep 2009, 19:17
- Ubicación: Granada, España
- Contactar:
Re: windows 7 pro
Hola elchicha
Quieres ejecutar una aplicación en windows 7, justo es la misma versión que tiene mi equipo, si te he entendido bien, lo que quieres es:
a) Desde una aplicación lanzar otra:
Si es así, tienes los comandos Run y ShellExecute cuyo funcionamiento es bastante similar, vease Run(Ruta_aplicacion.exe) y ShellExecute (Ruta_aplicacion.exe) , cada uno tiene algunas ventajas dependiendo de para qué se queira utilziar, así que te recomiendo que los revises en la ayuda-
b) No se te ejecuta una aplicación compilada, bueno, si es así, prueba a asegurarte de que la has compilado con la última versión de autoit, en caso de que el error persevere y continue sin ejecutarse, asegurate de que la aplicación no requiera permisos administrativos (#RequireAdmin) y en caso de que los necesite, prueba a ejecutar la aplicación como administrador (botón derecho, ejecutar como administrador), si aún así no funcionase, prueba a desactivar el uac (User Account Control / Control de cuentas de usuario) en el panel de control...
No sé si esto resuelve tu duda, pero se intenta XD
Saludos!
Quieres ejecutar una aplicación en windows 7, justo es la misma versión que tiene mi equipo, si te he entendido bien, lo que quieres es:
a) Desde una aplicación lanzar otra:
Si es así, tienes los comandos Run y ShellExecute cuyo funcionamiento es bastante similar, vease Run(Ruta_aplicacion.exe) y ShellExecute (Ruta_aplicacion.exe) , cada uno tiene algunas ventajas dependiendo de para qué se queira utilziar, así que te recomiendo que los revises en la ayuda-
b) No se te ejecuta una aplicación compilada, bueno, si es así, prueba a asegurarte de que la has compilado con la última versión de autoit, en caso de que el error persevere y continue sin ejecutarse, asegurate de que la aplicación no requiera permisos administrativos (#RequireAdmin) y en caso de que los necesite, prueba a ejecutar la aplicación como administrador (botón derecho, ejecutar como administrador), si aún así no funcionase, prueba a desactivar el uac (User Account Control / Control de cuentas de usuario) en el panel de control...
No sé si esto resuelve tu duda, pero se intenta XD
Saludos!
ArkCrew
http://www.nodluna.blogspot.com
http://www.nodluna.blogspot.com
Re: windows 7 pro
hola compi me sirvio el comando( ShellExecute ("InstallTranslate.exe") )y cuando se ejecuta de sale lo de permiso de usuario que comando deveria poner para que no saltara ese reduadro un saludo de ante mano EL CHICHA
- arkcrew
- Profesional del Autoit
- Mensajes: 506
- Registrado: 28 Sep 2009, 19:17
- Ubicación: Granada, España
- Contactar:
Re: windows 7 pro
Hola elchicha
Probablemente el comando al que te refieras sea uno que haga click cuando sale la advertencia de "si desea abrir la aplicacion" , vamos, una ventana del control de cuentas de usuario, lo que se me ocurre, es que utilices el comando controlclick en esa ventana, para que cuando aparexca haga click en el boton correspondiente, mirate las funciones:
controlsend,send,winactivate,winwaitactive que te pueden servir, sería algo así:
Revisalo por si me he equivocado, pero más o menos es la idea, echale un ojo y lo adaptas a tu código.
Espero te sirva
Un saludo!
Probablemente el comando al que te refieras sea uno que haga click cuando sale la advertencia de "si desea abrir la aplicacion" , vamos, una ventana del control de cuentas de usuario, lo que se me ocurre, es que utilices el comando controlclick en esa ventana, para que cuando aparexca haga click en el boton correspondiente, mirate las funciones:
controlsend,send,winactivate,winwaitactive que te pueden servir, sería algo así:
Código: Seleccionar todo
$tituloventana = "el titulo que tenga la ventana en la que quieras pulsar X boton"
if winwaitactive($tituloventana) then
Winactivate("titulo de la ventana")
;opcion 1 para hacer el click:
ControlSend("", "", "Button1", "{ENTER}")
; Donde Button1 sería el control de boton que puedes ver con autoitgetwininfo o algo asi creo recordar q se llamaba al apli que trae autoit, es cuestion de que mires
endif
Espero te sirva
Un saludo!
ArkCrew
http://www.nodluna.blogspot.com
http://www.nodluna.blogspot.com
Re: windows 7 pro
hola de nuevo no entiendo lo que me pones vamos a ver si lo podemos hacer bien yo tengo una aplicacion y la ejecuto el comando es
ShellExecute("InstallTranslate.exe")
y que mas tengo que poner para decirle ( SI) a la ventana que sale de ( Control de cuenta de usuario )
un saludo de antemano EL CHICHA
ShellExecute("InstallTranslate.exe")
y que mas tengo que poner para decirle ( SI) a la ventana que sale de ( Control de cuenta de usuario )
un saludo de antemano EL CHICHA
- arkcrew
- Profesional del Autoit
- Mensajes: 506
- Registrado: 28 Sep 2009, 19:17
- Ubicación: Granada, España
- Contactar:
Re: windows 7 pro
Buenas,
Podrias haberte mirado esas funciones que te he dicho en la ayuda y así lo entenderías, pero bueno...
Haber, lo que tienes que conseguir es un script que pulse en el botón si:
*winwaitactive
Devuelve true si la ventana está activa, ?que queremos con esto?, pués saber si la ventana está lista para que podamos trabajar sobre ella
asi pués, programaremos algo así:
Siguiente cosa:
*Winactivate
Esta función nos activa la ventana para que autoit pueda mandar comandos a la ventana
Añadiriamos la linea aqui
Siguiente paso:
*ControlSend
Simula la pulsacion de una tecla o de un botón según se espècifique
vease:
AHORA BIEN
Este code no te va a funcionar si no lo adaptas a tus variables, como el COntrolSend, asegurate de que sea Button1 el boton que debe pulsar, y donde pone TITULO DE TU VENTANA, debes cambiarlo por el de tu ventana
Sino, revisa las funciones estas en la ayuda y aprende su funcionamiento que viene con ejemplos y bien explicado.
Espero que esta vez me haya explicado bien
Un saludo!
[/code]
Podrias haberte mirado esas funciones que te he dicho en la ayuda y así lo entenderías, pero bueno...
Haber, lo que tienes que conseguir es un script que pulse en el botón si:
*winwaitactive
Devuelve true si la ventana está activa, ?que queremos con esto?, pués saber si la ventana está lista para que podamos trabajar sobre ella
asi pués, programaremos algo así:
Código: Seleccionar todo
if winwaitactive("TITULO DE TU VENTANA") then
endif
*Winactivate
Esta función nos activa la ventana para que autoit pueda mandar comandos a la ventana
Añadiriamos la linea aqui
Código: Seleccionar todo
if winwaitactive("TITULO DE TU VENTANA") then
winactivate("TITULO DE TU VENTANA")
endif
*ControlSend
Simula la pulsacion de una tecla o de un botón según se espècifique
vease:
Código: Seleccionar todo
if winwaitactive("TITULO DE TU VENTANA") then
winactivate("TITULO DE TU VENTANA")
ControlSend("", "", "Button1", "{ENTER}")
endif
Este code no te va a funcionar si no lo adaptas a tus variables, como el COntrolSend, asegurate de que sea Button1 el boton que debe pulsar, y donde pone TITULO DE TU VENTANA, debes cambiarlo por el de tu ventana
Sino, revisa las funciones estas en la ayuda y aprende su funcionamiento que viene con ejemplos y bien explicado.
Espero que esta vez me haya explicado bien
Un saludo!
[/code]
ArkCrew
http://www.nodluna.blogspot.com
http://www.nodluna.blogspot.com
Re: windows 7 pro
Hola compi gracias si te esplicas muy bien pero me da error al ejecutar un saludo de antemano EL CHICHA
- arkcrew
- Profesional del Autoit
- Mensajes: 506
- Registrado: 28 Sep 2009, 19:17
- Ubicación: Granada, España
- Contactar:
Re: windows 7 pro
Hola,
Publicame el código que tienes así vemos que es lo que haces mal y lo podemos corregir, te habria programado algo, pero mi PC tiene quitado el UAC porque nada mas que me da problemas, así que pasa el code y lo vemos
un saludo!
Publicame el código que tienes así vemos que es lo que haces mal y lo podemos corregir, te habria programado algo, pero mi PC tiene quitado el UAC porque nada mas que me da problemas, así que pasa el code y lo vemos
un saludo!
ArkCrew
http://www.nodluna.blogspot.com
http://www.nodluna.blogspot.com
Re: Problemas al lanzar una aplicacion en windows 7 con el U
Yo lo tengo asi pero no pasa del cuadro ( Control de cuentas de usuario ) y se queda marcado en (NO) y se para que mas ay que poner por que ponga la que ponga me da error me falta algo pero no doy con ellos un saludo EL CHICHA
ShellExecute("InstallTranslate.exe")
if winwaitactive("Control de cuentas de usuario") then
winactivate("Control de cuentas de usuario")
ControlSend("", "", "Button1", "{ENTER}")
endif
ShellExecute("InstallTranslate.exe")
if winwaitactive("Control de cuentas de usuario") then
winactivate("Control de cuentas de usuario")
ControlSend("", "", "Button1", "{ENTER}")
endif
- arkcrew
- Profesional del Autoit
- Mensajes: 506
- Registrado: 28 Sep 2009, 19:17
- Ubicación: Granada, España
- Contactar:
Re: Problemas al lanzar una aplicacion en windows 7 con el U
Hola elchicha
Prueba a asegurarte de que todo está correcto, comprueba el título de la ventana y el control del botón utilizando Autoit Window Info.
Esto no es una función sino una utilidad que trae autoit, la puedes encontrar en programas>Auoit
Saludos!
Prueba a asegurarte de que todo está correcto, comprueba el título de la ventana y el control del botón utilizando Autoit Window Info.
Esto no es una función sino una utilidad que trae autoit, la puedes encontrar en programas>Auoit
Saludos!
ArkCrew
http://www.nodluna.blogspot.com
http://www.nodluna.blogspot.com
- chekok
- Hacker del Foro
- Mensajes: 111
- Registrado: 16 Sep 2011, 11:50
- Ubicación: Valencia / España
- Contactar:
Re: Problemas al lanzar una aplicacion en windows 7 con el U
No es necesario que controles la ventana de aviso del UAC, existe un modo más sencillo, práctico y más eficiente.
Desactivas el UAC directamente en el registro de windows, ejecutas el resto de tu código y después lo vuelves a restaurar al estado anterior (lo vuelves a activar) si lo deseas cuando dejes de ejecutar tu script.
El código sería el más o menos así:
Lo que hacemos es leer en el registro de windows el valor del UAC, el cual si su valor es cero, está desactivado, si tiene un valor distinto está activado en uno de los distintos niveles que admite win7 y lo que hacemos es cambiarlo a cero.
Ahora ya está desactivado el UAC y cualquier otra cosa que hagamos en el script que muestre la molesta pantalla de aviso, simplemente esta no aparecerá y ejecutará nuestra instrucción directamente.
Lo tengo más que probado y funciona 100%, por cierto, no hagáis un mal uso de esta información.
Desactivas el UAC directamente en el registro de windows, ejecutas el resto de tu código y después lo vuelves a restaurar al estado anterior (lo vuelves a activar) si lo deseas cuando dejes de ejecutar tu script.
El código sería el más o menos así:
Código: Seleccionar todo
$varuac = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "ConsentPromptBehaviorAdmin")
If $varuac Then
If $varuac <> 0 Then
$varuac2 = RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "ConsentPromptBehaviorAdmin","REG_DWORD","0")
EndIf
EndIf
Aqui tu código...
Exit
Ahora ya está desactivado el UAC y cualquier otra cosa que hagamos en el script que muestre la molesta pantalla de aviso, simplemente esta no aparecerá y ejecutará nuestra instrucción directamente.
Lo tengo más que probado y funciona 100%, por cierto, no hagáis un mal uso de esta información.
La vida es larga y dura.
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: Problemas al lanzar una aplicacion en windows 7 con el U
@checkok Gracias por la info, no hay nada como no liarse con todos los menus y submenus de todas las diferentes versiones del windows PARA DESACTIVAR UAC...
Aquí añadí un programa basandome en la clave del registro.
Desactivador de UAC:
http://www.emesn.com/autoitforum/viewto ... f=4&t=2945
SAlu22:)
Aquí añadí un programa basandome en la clave del registro.
Desactivador de UAC:
http://www.emesn.com/autoitforum/viewto ... f=4&t=2945
SAlu22:)
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Problemas al lanzar una aplicacion en windows 7 con el U
En el ControlSend también hay que especificar la ventana, no sólo el control...
De todas maneras él lo que quiere no es manejar esa ventana, sino que no salga.
Se puede desactivar con el código de chekok (o a mano desde la interfaz de Windows), pero recordad que así se quita definitivamente, si queréis el control de cuentas (¿alguien lo quiere?) hay que volver a activarlo (es trivial ampliar el código de chekok para restaurar al final el registro).
elchicha, a lo mejor te es suficiente ejecutarlo como administrador, si sirve te evitas tocar el registro.
Prueba a añadir
al principio del programa.
Y una cosa, por favor, por comas y puntos que cuesta mucho leerte...
De todas maneras él lo que quiere no es manejar esa ventana, sino que no salga.
Se puede desactivar con el código de chekok (o a mano desde la interfaz de Windows), pero recordad que así se quita definitivamente, si queréis el control de cuentas (¿alguien lo quiere?) hay que volver a activarlo (es trivial ampliar el código de chekok para restaurar al final el registro).
elchicha, a lo mejor te es suficiente ejecutarlo como administrador, si sirve te evitas tocar el registro.
Prueba a añadir
Código: Seleccionar todo
#RequireAdmin
Y una cosa, por favor, por comas y puntos que cuesta mucho leerte...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Problemas al lanzar una aplicacion en windows 7 con el U
Hola compi.
me sirvio lo de (#requiereadmin).
pero me sige saliendo la venta de (Control de cuenta de usuario ).
y no doy como para que cambie del (NO) al (SI) ya que lo otro que comentaron de activar o desactivar el (UAC) no funciona bien .
espero que me entiendo y si ay algun comando para esa venta un saludo EL CHICHA
me sirvio lo de (#requiereadmin).
pero me sige saliendo la venta de (Control de cuenta de usuario ).
y no doy como para que cambie del (NO) al (SI) ya que lo otro que comentaron de activar o desactivar el (UAC) no funciona bien .
espero que me entiendo y si ay algun comando para esa venta un saludo EL CHICHA
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: Problemas al lanzar una aplicacion en windows 7 con el U
Los antivirus también te preguntan, si vas a ejecutar algo peligroso. Es la función parecida a la del antivirus cuando tienes un virus.
El usuario es informado de que se va a tocar por dentro su ordenador, y que puedes causar problemas.
Una aclaración sobre esto:
¿No deseas informar al usuario que vas a quitar la protección del Windows?.
Yo lo haría, es ser honesto con el usuario y explicarle lo que estás haciendo con el programa, si no desea hacerlo para que tenga la oportunidad de cancelarlo.
Salu22:)
El usuario es informado de que se va a tocar por dentro su ordenador, y que puedes causar problemas.
Una aclaración sobre esto:
¿No deseas informar al usuario que vas a quitar la protección del Windows?.
Yo lo haría, es ser honesto con el usuario y explicarle lo que estás haciendo con el programa, si no desea hacerlo para que tenga la oportunidad de cancelarlo.
Salu22:)
Re: Problemas al lanzar una aplicacion en windows 7 con el U
BasicOs escribió:Los antivirus también te preguntan, si vas a ejecutar algo peligroso. Es la función parecida a la del antivirus cuando tienes un virus.
El usuario es informado de que se va a tocar por dentro su ordenador, y que puedes causar problemas.
Una aclaración sobre esto:
¿No deseas informar al usuario que vas a quitar la protección del Windows?.
Yo lo haría, es ser honesto con el usuario y explicarle lo que estás haciendo con el programa, si no desea hacerlo para que tenga la oportunidad de cancelarlo.
Salu22:)
Hola compi lo entiendo.
entonces lo unico que se puede hacer es desactivar el UAC para que no salga la ventana que comento.
pues si no se puede hacer nada mas un saludo y gracias a todos EL CHICHA
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Problemas al lanzar una aplicacion en windows 7 con el U
elchicha, no hace falta que me pongas el comentario en advertencia, me sale todo en rojo y me manda un MP.
¡Me ha dejao acojonao!
Vamos a ver, ¿qué cosas has probado exactamente? ¿has probado el código de chekok de más arriba.
¿Qué valor tienes ahora en esa clave de registro?
Ejecuta por ejemplo esto y dinos qué te da:
La otra opción también es posible, la de apretar el botón. Casi lo tenias pero te falta identificar la ventana si no no encuentra el botón. Además conviene poner un time-out por si el UAC está desactivado y no aparece la ventana.
Por otro lado para apretar botones prefiero hacer click:
Así si todo va bien después de ejecutar el InstallTranslate.exe esperará 5 segundos a ver si sale la UAC (si te parece mucho o poco cambia el numerito a algo que se te ajuste mejor).
Si sale presionará el botón, porque seguro que es Button1 ¿eh?, y si no sale pues continúa con el programa.
¡Me ha dejao acojonao!
Vamos a ver, ¿qué cosas has probado exactamente? ¿has probado el código de chekok de más arriba.
¿Qué valor tienes ahora en esa clave de registro?
Ejecuta por ejemplo esto y dinos qué te da:
Código: Seleccionar todo
$varuac = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "ConsentPromptBehaviorAdmin")
MsgBox(0, "UAC", "UAC: " & $varuac)
Por otro lado para apretar botones prefiero hacer click:
Código: Seleccionar todo
$tituloUAC = "Control de cuentas de usuario"
ShellExecute("InstallTranslate.exe")
If WinWaitActive($tituloUAC, 5) then
ControlClick($tituloUAC, "", "Button1", "primary")
EndIf
Si sale presionará el botón, porque seguro que es Button1 ¿eh?, y si no sale pues continúa con el programa.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Problemas al lanzar una aplicacion en windows 7 con el U
Hola Ximorro .
en el primer apartado de sale una vetana que pone( UAC:5)
y el segundo donde tengo que poner el nombre de la venta por que no doy donde ponerlo o como ponerlo ya que siempre pasa lo mismo sige sin ejecutar el (SI)
un saludo EL CHICHA
en el primer apartado de sale una vetana que pone( UAC:5)
y el segundo donde tengo que poner el nombre de la venta por que no doy donde ponerlo o como ponerlo ya que siempre pasa lo mismo sige sin ejecutar el (SI)
un saludo EL CHICHA
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Problemas al lanzar una aplicacion en windows 7 con el U
Tengo una duda, ¿realmente quieres hacer un programa AutoIt o simplemente quieres quitar la UAC, da igual cómo se haga?
Si es lo segundo simplemente entra en el panel de control y lo quitas. O sencillamente permite que el usuario sepa que se está instalando algo (¿qué hay de malo en ello?) y que elija si quiere instalarlo o no.
Si es lo primero...
Ese valor 5 es que la UAC sigue activa. Si se supone que has incluido el código de chekok, o es que se reactiva solo o es que no tienes permisos para cambiar esa opción. Entonces tendrás que vivir con ello o que el programa presione el botón.
Y para eso se usa el código que te he puesto. El título de la ventana ya lo he puesto donde tiene que estar (entre otros sitios en el primer parámetro de la función que identifica el botón donde quieres hacer clic, antes faltaba eso). Ahora bien, el título tienes que asegurarte de que es exactamente ese ("Control de cuentas de usuario") y que el botón es "Button1", tal como me habéis puesto.
Piensa que yo estoy en un XP, que no tiene UAC, así que no puedo ver nada de eso y me está resultando un poco difícil ayudar en este caso...
Si es lo segundo simplemente entra en el panel de control y lo quitas. O sencillamente permite que el usuario sepa que se está instalando algo (¿qué hay de malo en ello?) y que elija si quiere instalarlo o no.
Si es lo primero...
Ese valor 5 es que la UAC sigue activa. Si se supone que has incluido el código de chekok, o es que se reactiva solo o es que no tienes permisos para cambiar esa opción. Entonces tendrás que vivir con ello o que el programa presione el botón.
Y para eso se usa el código que te he puesto. El título de la ventana ya lo he puesto donde tiene que estar (entre otros sitios en el primer parámetro de la función que identifica el botón donde quieres hacer clic, antes faltaba eso). Ahora bien, el título tienes que asegurarte de que es exactamente ese ("Control de cuentas de usuario") y que el botón es "Button1", tal como me habéis puesto.
Piensa que yo estoy en un XP, que no tiene UAC, así que no puedo ver nada de eso y me está resultando un poco difícil ayudar en este caso...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Problemas al lanzar una aplicacion en windows 7 con el U
gracias compi lo dejo por inutil ya que lo desactivares y segire haciendos los programas un saludo a todos y muchas gracias ELCHICHA