Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2009
Avatar de krlox31416
krlox31416 krlox31416 is offline
Miembro
 
Registrado: jun 2008
Ubicación: San Juan del Río, Querétaro, México
Posts: 75
Poder: 16
krlox31416 Va por buen camino
Smile como usar la inpout32.dll salida puerto paralelo

Hola de nuevo amigos foristas!!!

tengo un nuevo problema...

se trata de este codigo que me funciona muy bien ... para versiones anteriores al windows xp...

sirve para dar salida al puerto paralelo...

con la instruccion asm

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
asm
MOV AX,1
MOV DX,378H
OUT DX,AX
end;
end;

se que no da salida en el xp.. por razones de exepciones...

algo que esta abierto segun los privilegios del windows 2000

por esa razon si jala...

el uso de la dll es para dar permisos en el xp...

el problema es que no se como hacerla funcionar ...
ya lo cheque en otros documentos ...

y segun se debe de pegar junto con el programa o en su caso en la carpeta de sistem...

bueno o eso es lo que yo creo...

la verdad no se que estoy haciendo mal...

si hay alguien que pueda ayudarme...

saludos!!!
__________________
el cielo me dio un cariño sin merecerlo... chimikuilo!!!
Responder Con Cita
  #2  
Antiguo 26-02-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
La libreria inpout32.dll no otorga ningun privilegio, lo que en realidad hace es crear un Driver el cual estando en modo Kernel puede acceder al HAL y por ende a los puertos. Una vez creado el Driver instala el Servicio respectivo y se comunica con el mismo con los parametros ingresados.



Las dos funciones exportadas por la libreria se definen de la siguiente forma;

Código Delphi [-]
procedure Out32(wAddr: Word; bOut: Byte); stdcall external 'inpout32';
function Inp32(wAddr: Word): Integer; stdcall external 'inpout32';

Aquí un ejemplo

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #3  
Antiguo 26-02-2009
Avatar de krlox31416
krlox31416 krlox31416 is offline
Miembro
 
Registrado: jun 2008
Ubicación: San Juan del Río, Querétaro, México
Posts: 75
Poder: 16
krlox31416 Va por buen camino
si esa información ya la tenia...

amigo cHackAll...
esas funciones ya las habia buscado en varias páginas de = modo los ejemplos si heche a andar ese programita hacia ya tiempo... el problema mio es usar la instrucción asm de ensamblador pero usando el xp... como te decia ya tube la oportunidad de trabajar con esa instrucion para windows 98 y 2000 me funciona perfectamente!!! y la encuentro más sencilla que estar declarando:
Código Delphi [-]
procedure Out32(wAddr: Word; bOut: Byte); stdcall external 'inpout32';
function Inp32(wAddr: Word): Integer; stdcall external 'inpout32';

con la instrucción asm no es necesario declarar las funciones anteriores en el 98 y 2000
Código Delphi [-]
/// lo que estamos utilizando son los registros en lenguaje ensamblador!!! 
procedure TForm1.Button1Click(Sender: TObject);
begin
asm //// instrucción para lengueje ensamblador
MOV AX,1 /// utilizamos el bit que deseamos segun lo que queramos controlar y se lo asignamos al registro AX basta poner el número de bit que queramos utilizar
MOV DX,378H //// utilzamos el puerto de la impresora que es 378h y se lo asignamos a DX
OUT DX,AX   //// le damos salida el valor de AX que en este caso es 1 bit del puerto de salida 378h
end;
end;

Ahora mi problema es hechar a andar este código pero para el windows xp

yo buscando en paginas vi que se utiliza la dll pero me imagine que eso me funcionaria para el codigo que utilizo...

Hace tiempo me dijo un profesor que a el le funcionaba con ese mismo codigo... pero segun creo fue la dll que le puso... no se bien que fue lo que el hizo... pero me gustaria saber que fue lo que paso...

con el codigo que uso yo hice 2 practicas la primera fue controlar 3 bandas transportadoras usando motores de cd y una alarma primero sonaba la alarma para advertir que iba a arrancar la primera banda, despues la segunda banda y despues la tercera quedando las 3 girando para esto le dije a mi hermano que es ing. electonico que me diseñara un circuito con el bit 1 que sonara la alarma, con el bit 2 que arrancara el motor 1, con el bit 3 el motor 2, con el bit 4 el motror 3 y con el bit 0 se apagara todo...

como podras ver solo hay que cambiar el número de bit por lo que es mas sencillo y no me meto en broncas de agregar más código...

tambien con ese código controle un brazo robot que mi hermano hizo con motores de apasos y quedo jalando iperchido!!!
ahora quiero hacer jalar ese mismo código pero para el windows xp..

pero al correr mi programa en xp manda una exepción yo ya sabia por que!!! que fue lo que tu estas expicandome pero como lo soluciono adaptar eso pero con mi código...

un saludo!!!
__________________
el cielo me dio un cariño sin merecerlo... chimikuilo!!!

Última edición por krlox31416 fecha: 26-02-2009 a las 19:36:57. Razón: mala escritura
Responder Con Cita
  #4  
Antiguo 27-02-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por krlox31416 Ver Mensaje
...el problema mio es usar la instrucción asm de ensamblador pero usando el xp... ...Ahora mi problema es hechar a andar este código pero para el windows xp... ...ahora quiero hacer jalar ese mismo código pero para el windows xp... ...como lo soluciono adaptar eso pero con mi código...
imposible
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #5  
Antiguo 28-02-2009
Avatar de krlox31416
krlox31416 krlox31416 is offline
Miembro
 
Registrado: jun 2008
Ubicación: San Juan del Río, Querétaro, México
Posts: 75
Poder: 16
krlox31416 Va por buen camino
parece ser que si se puede hechar a andar el codigo

encontre tambien alguna ayuda en el hilo que pone luis1980...
por lo que veo el tambien utiliza el mismo codigo...

es cosa de ver que fue lo que hizo para que le jalara en xp...
sin tener que usar la dll...
__________________
el cielo me dio un cariño sin merecerlo... chimikuilo!!!
Responder Con Cita
  #6  
Antiguo 28-02-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por krlox31416 Ver Mensaje
...es cosa de ver que fue lo que hizo para que le jalara en xp...
sin tener que usar la dll...
Ok... he echado un vistazo al hilo que comentas (luego de haberlo encontrado), y te digo que con ésa "solucion" en lugar de "cargar" un archivo (inpout32.dll), debes cargar 2 (UserPort.sys & UserPort.exe), y luego de copiar el Driver al equipo debes correr el ejecutable y configurarlo manualmente. Este proceso no es automatizable y otorga dichos privilegios a todos los procesos

Cita:
  1. Copy UserPort.SYS to %WINDIR%\SYSTEM32\DRIVERS
  2. Start UserPort.EXE and add the addresses you want and remove the others and click on start.
  3. Run UserPort.EXE with the driver filename and path as an argument i.e. run UserPort.EXE X:\YOURDIR\UserPort.SYS. Add the addresses you want and remove the others and click on start.
Talvez mi anterior post debia ser "imposible en modo usuario", de cualquier forma aconsejo usar la DLL por el tema de transparencia al usuario final y seguridad.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #7  
Antiguo 03-03-2009
Avatar de krlox31416
krlox31416 krlox31416 is offline
Miembro
 
Registrado: jun 2008
Ubicación: San Juan del Río, Querétaro, México
Posts: 75
Poder: 16
krlox31416 Va por buen camino
problema solucionado!!!

si jala el codigo en asm...
sin tener que usar la dll...

si deseas saber que hice busca en este hilo:

http://www.clubdelphi.com/foros/showthread.php?t=59475

saludos!!!
__________________
el cielo me dio un cariño sin merecerlo... chimikuilo!!!
Responder Con Cita
  #8  
Antiguo 03-03-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por krlox31416 Ver Mensaje
si jala el codigo en asm...
ta weno!

Cita:
Empezado por krlox31416 Ver Mensaje
...sin tener que usar la dll...
Cita:
Empezado por cHackAll Ver Mensaje
...con ésa "solucion" en lugar de "cargar" un archivo (inpout32.dll), debes cargar 2 (UserPort.sys & UserPort.exe)...
En fin
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar puerto paralelo luis1980 C++ Builder 39 04-04-2009 10:27:08
Como dectectar los puerto serie y paralelo de mi pc kurono Varios 2 06-08-2007 05:19:36
Como puedo controlar el puerto paralelo con C#? z-7 .NET 1 09-01-2006 03:13:52
Como puedo manejar el puerto paralelo con Delphi 2005 .NET? z-7 .NET 4 26-07-2005 12:47:40
¿Como tomar datos a traves del puerto paralelo de la PC? Roger_Fernandez Varios 0 18-11-2004 16:08:51


La franja horaria es GMT +2. Ahora son las 19:03:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi