FoxPro/Visual FoxPro - Situación extraña con RUN, bajo Windows 10...

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Situación extraña con RUN, bajo Windows 10...

Publicado por Santiago (42 intervenciones) el 03/06/2020 16:57:57
Hola, a todos...

Se me presenta la siguiente situación extraña. Tengo el archivo sesiones.bat, cuya única instrucción me permite ver las sesiones Windows en una máquina:

query session > sesiones.txt

Si ejecuto el archivo dando doble click sobre él, la salida es la esperada, cuya imagen adjunto.

sesiones

Por supuesto, en mi máquina de desarrollo, con Windows 10 Pro, solo veo mi sesión, tal como se puede observar en la imagen. Lo interesante es que si ejecuto esa misma instrucción mediante el comando RUN, directamente o utilizando el archivo sesiones.bat, bien sea en la ventana Comandos de VFP9 o dentro del programa, el archivo de salida (es decir, sesiones.txt) es creado pero sin contenido, está vacío. Incluso, hice todas las pruebas corriendo tanto VFP9 como el programa en calidad de usuario administrador de Windows... Y nada...

Ayer probé la instrucción ejecutando el programa en una máquina con Windows Server y funciona perfectamente, lo cual haría pensar que, en Windows 10, el programa debe tener algún permiso especial para que la instrucción sea permitida.

Dato adicional: la variable COMSPEC está correcta (C:\WINDOWS\system32\cmd.exe); de lo contrario, ni siquiera vacío habría sido creado el archivo de salida.

Pregunto: ¿Alguien sabe qué condición adicional se requiere DENTRO del programa, para que funcione la instrucción "query" en Windows 10?

Olvidaba mencionar que también hice la prueba sustituyendo el comando RUN por el comando Shellexecute, por medio de la ventana de Comandos y dentro del programa:
----------
DECLARE INTEGER ShellExecute IN shell32.dll INTEGER hndWin, STRING cAction, STRING cFileName, STRING cParams, STRING cDir, INTEGER nShowWin

= ShellExecute(0,"Runas","sesiones.bat","","",0)
----------
pero ocurre exactamente lo mismo: el archivo sesiones.txt es creado, pero vacío, bien sea usando el parámetro "Open" o bien el parámetro "Runas" (correr como administrador). Si en la ventana de Comandos muestro el resultado de Shellexecute (sustituyendo "=" por "?"), el resultado es 42, que indica que NO hubo problema al ejecutar sesiones.bat (menos de 32 indica algún fallo).

Esto recalca que el problema parece ser de permisos especiales del programa en Windows 10 (por fuera del programa, la instrucción "query" no tiene problema, como mostré en la imagen).

Muchas gracias por su paciencia en la lectura y quedo agradecido por cualquier ayuda para resolver ese misterio...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder