0

![]() |
![]() |
Guardián del Foro |
Hola Amigos:
Tengo un escaner de cheques y necesito correr un programa que me vendieron junto con el escaner para el manejo de éste, que queda residente y va pasando por teclado la lectura de la banda magnética y escanea el frente y dorso del cheque (Epson tm-s1000). Este programa necesita permisos de administrador. Tengo mi sistema funcionando en un windows server 2008 de 64 bits y los distintos usuarios acceden por escritorio remoto. Desde el usuario administrador no tengo ningún problema, pero la persona que va a utilizar este escaner tiene su propio usuario, que le puse que es miembro de Administradores.
El programa que tengo que correr es un .exe que se encuentra en la carpeta "archivos de programa (x86)" porque es de 32 bits y le puse que corriera como administrador.
Trabajando desde este usuario, desde el explorador de windows corre perfectamente, pero no quiero que sea de esta manera, lo que quiero hacer es que desde mi programa, lo llame y después de utilizarlo lo cierre.
Entonces hice lo siguiente:
para correrlo en un botón armo en una variable la ruta del archivo y lo ejecuto
COBOL Código:
move "C:\Program Files (x86)\EasyCheck\easycheck.exe" to comando. invoke pow-self "ExecuteSync" using comando pow-swhide
y para cerrarlo, en otro boton hago
COBOL Código:
move "taskkill /F /IM easycheck.exe" to comando. invoke pow-self "ExecuteSync" using comando pow-swhide
Como les conté antes, desde el usuario administrador anda perfectamente, pero desde otro usuario (que es miembro de administradores) me da error.
Se les ocurre alguna idea de cómo resolver este problemita.
Saludos.
Fito...
![]() |
![]() |
Administrador |
@Fito, por lo pronto no entiendo de qué te sirve el botón de cerrar en tu programa. Si haces "ExecuteSync", el Form de tu programa Power queda congelado hasta que el proceso lanzando (en sincronizado por lo de Sync) no termine su ejecución. Evidentemente, si tu Form se ha vuelto a activar, quiere decir que el programa externo ya ha terminado su ejecución.
En cuanto al error, ¿qué tipo de error te da exactamente? ¿El grupo de Administradores es por defecto o creado a mano? El usuario con el que todo funciona pertenece al mismo grupo de Administradores? ¿No tiene nada ajustado a mano en los permisos?
¿Te han ayudado? NO TE OLVIDES de darle al botón
¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
![]() |
![]() |
Guardián del Foro |
hola KUK:
Reinicié el Servidor por otros motivos y voilá, empezó a funcionar. Si hice el cambio de "ExecuteSync" por "Execute", y quedó perfecto.
Les cuento los pasos que hice, para que les quede más claro.
1- tengo que cargar cheques por medio de un escáner de cheques.
2- Abro la ventana donde tengo la carga de cheques de manera manual, sin escáner, porque tengo que seguir dandole la posibilidad al usuario de que carge los datos en forma manual, porque no todos tienen un escáner de cheques disponible.
3- para el qué sí lo tenga, abajo en la ventana tengo un par de botones y un textbox. Entonces el usuario hace click sobre el botón conectar, éste habilita el textbox para recibir los datos desde el escáner y por supuesto tiene que correr el software del escáner para que se comunique.
4- El escáner empieza a tomar los cheques (tiene una bandeja para 100 cheques) y va cargando en ese textbox los datos de la cinta magnética (banco, sucursal, número, cta bancaria)
5- Una vez terminado de pasar todos los cheques, el usuario deberá cliquear en el boton finalizar para desconectar el escáner (cerrando el proceso) y habilitando para que el usuario complete los datos que el escáner no te da (fecha e importe).
Este software de comunicación necesariamente lo tengo que "prender" y "apagar", porque al estar todos trabajando en el servidor con escritorio remoto, si lo configuro para que arranque con windows y esté siempre disponible, los usuario que no tienen un escáner conectado, cuando se loguean al servidor, les da un error de que no encuentra el escáner.
Saludos.
Fito...
![]() |
![]() |
Junior |
No lo tengo claro este tema
COBOL Código:
01 CLAVE. 02 FILLER PIC X(90) VALUE "C:\WINDOWS\SYSTEM32\CMD.EXE /C W.BAT". PROCEDURE. INVOKE pow-self "execute" USING CLAVE POW-SWHIDE.
El problema es que para que ejecute este bat tiene que tener permiso de administrador si doy esta instrucción no funciona el bat.
Ahora si ejecuto por teclado con click derecho en el bat como administrador si funciona.
Este proceso es necesario hacerlo por programa por seguridad del sistema.
![]() |
![]() |
Senior |
Para esse efeito uso isto: RunAsTool v1.3
![]() |
![]() |
Administrador |
¿Te han ayudado? NO TE OLVIDES de darle al botón
¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
- Haciendo clic en el icono
al lado de su nick
- Haciendo clic en el botón
en el editor y escribiendo su nick.
Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)
Marcadores