Pedir autorización de administrador desde un programa
Gracias por tratar de ayudarme.
Así es, busco una rutina o algún llamado al API de windows cuando no se tiene el permiso, por ejemplo, intentar modificar el registro, si pudo hacerlo quiere decir que se necesita autorización del administrador, en ese momento solicitarla, solamente va a ser para ese evento, puede ser que nunca sea necesario volver a hacerlo, o puede ser que el usuario nunca quiera hacerlo.
La otra alternativa que podría ser para no tener que indicarle manualmente fuera del programa que se ejecute como administrador sería ejecutar un programa que pida la autorización para ese programa, no se si me explico, un llamado algo así
C:>seguridad miprograma
donde seguridad sería algún comando de windows y miprograma un programita que mio que únicamente cambie el registro, así lo llamaría desde el programa principal y sería mas transparente para el usuario, aunque preferiría fuera desde el mismo ejecutable.
La opción mas parecida que encontré fue en Panel de control\Programas\Ejecutar programas creados para versiones anteriores de Windows, ahí es posible indicar que se ejecute como administrador ¿es esa?
No se si esa es la opción que me dices, pero la idea no es que siempre se ejecute como administrador, no se si valga la pena hacerlo y no me afecta que lo haga siempre, pero la idea es que se haga automáticamente, lo más transparente para el usuario.
Se trata de un programa hecho en harbour y fivewin, esto, hasta donde conozco, es un programa en windows, pero no usa instalador, simplemente se extrae una carpeta de un archivo zip.
El programa es un IDE y principalmente trabaja con archivos con extensión prg como editor de líneas. La idea es que al darle doble click a los archivos con extensión prg (es posible que agregue a la lista otras extensiones como rc o ch) se habra automáticamente el programa y abra ese archivo, de la misma manera que excel o word lo hacen con los archivos indicados, todo esto funciona perfectamente, inclusive, si el programa se ejecuta como administrador si modifica el registro, el problema es cuando no se ejecuta como administrador, porque no permite realizar la modificación.