ActionScript - ¿Como encender un led en puerto paralelo(LPT) en Windows7?

 
Vista:
Imágen de perfil de Oscar
Val: 1
Ha mantenido su posición en ActionScript (en relación al último mes)
Gráfica de ActionScript

¿Como encender un led en puerto paralelo(LPT) en Windows7?

Publicado por Oscar (1 intervención) el 03/11/2017 00:15:55
Cordial Saludo,
Tengo un inconveniente al intentar encender unos leds utilizando el puerto paralelo (LPT) y es que no carga la librería inpout32.dll, la cual esta en la carpeta System32, el código compilado esta en C++, y uso el S.O. Windows 7 ultimate, Les agradezco su colaboración, este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <conio.h>
#include <windows.h>
 
     typedef short _stdcall (*inpfuncPtr)(short portaddr);
     typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);
 
int main(void)
{
     HINSTANCE hLib;
     inpfuncPtr inp32;
     oupfuncPtr oup32;
 
     hLib = LoadLibrary("inpout32.dll");
 
     if (hLib == NULL) {
          printf("Fallo cargar libreria.\n");
          return -1;
     }
 
     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
 
     if (oup32 == NULL) {
          printf("GetProcAddress for Oup32 Failed.\n");
          return -1;
     }
 
     (oup32)(0x378,128);
     Sleep(500);
     (oup32)(0x378,64);
     Sleep(500);
     (oup32)(0x378,32);
     Sleep(500);
     (oup32)(0x378,16);
     Sleep(500);
     (oup32)(0x378,8);
     Sleep(500);
     (oup32)(0x378,4);
     Sleep(500);
     (oup32)(0x378,2);
     Sleep(500);
     (oup32)(0x378,1);
     Sleep(500);
     (oup32)(0x378,0);
        Sleep(500);
 
     FreeLibrary(hLib);
     return 0;
}
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
Imágen de perfil de Alejandro

Problema al cargar la librería "inpout32.dll" en Windows 7

Publicado por Alejandro (369 intervenciones) el 29/06/2023 16:49:34
Cordial saludo, Óscar.

El problema que estás experimentando al intentar cargar la librería "inpout32.dll" puede estar relacionado con la arquitectura del sistema operativo y la versión de la librería. Aquí hay algunas posibles soluciones que podrías probar:

1. Verifica la arquitectura del sistema operativo: Asegúrate de que estás utilizando la versión correcta de la librería "inpout32.dll" según la arquitectura de tu sistema operativo. Si estás utilizando Windows de 64 bits, necesitarás la versión de 64 bits de la librería.

2. Coloca la librería en la carpeta del proyecto: Intenta colocar la librería "inpout32.dll" en la misma carpeta que el archivo ejecutable de tu proyecto C++. Esto asegurará que el programa pueda encontrar la librería durante la ejecución.

3. Verifica la compatibilidad de la librería: Asegúrate de que la versión de la librería "inpout32.dll" que estás utilizando sea compatible con tu sistema operativo Windows 7 Ultimate. Algunas versiones de la librería pueden no ser compatibles con ciertas versiones de Windows.

4. Ejecuta el programa como administrador: Intenta ejecutar el programa como administrador. Algunas operaciones de acceso a puertos pueden requerir privilegios administrativos.

5. Utiliza una versión actualizada de la librería: Considera buscar una versión más actualizada de la librería "inpout32.dll" que sea compatible con tu sistema operativo. Puedes buscar en la página del proveedor o en comunidades de programadores para obtener una versión más actualizada y compatible.

Recuerda también que el acceso a puertos paralelos puede estar restringido en sistemas operativos modernos debido a motivos de seguridad. Asegúrate de tener los permisos necesarios y de que tu sistema operativo permita este tipo de acceso.

Espero que estas sugerencias te ayuden a solucionar el problema. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar