Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2011
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
Question Interpretar archivos de Spool SHD.SPL

Buenas noches foristas,
TEngo la necesidad de interpretar los archivos de spool (spool\printers) que se generarn antes de la impresion de estos. La idea que tengo es leer el contenido y extraer la prte texto de ellos para evitar tener que digitar toda la informacion cuando se imrpimen los datos.

Encontre este comentarios de un usuario que tiene una necesidad parecida. Anexo los datos encontrados para ver si alguno de ustedes tiene algo ya resuelto o una idea de como resolverlo,

Estoy desarrollando una aplicación para control de impresión en windows.
necesito elaborar un programa que pueda leer correctamente el archivo .shd
que windows crea en el subdirectorio \spool\printers

Lo que he podido averiguar es que está elaborado con la siguiente
estructura:

The SHD file consists of a header followed by the data.
Código Delphi [-]
#define SHD_SIGNATURE_4B $0000494B //Windows 9x
#define SHD_SIGNATURE_66 $00004966
#define SHD_SIGNATURE_67 $00004967 //Win2000/XP
#define SHD_SIGNATURE_68 $00004968 //Windows 2003

# _SHADOW_FILE_HEADER_68 looks similar to #_SHADOW_FILE_HEADER_67

typedef struct _SHADOW_FILE_HEADER_67 {
DWORD dwSignature; //SHD_SIGNATURE_67
DWORD dwHeaderSize;
WORD wStatus;
WORD wUnknown1;
DWORD dwJobID;
DWORD dwPriority;
DWORD offUserName; //Offset of WideChar+0
DWORD offNotifyName; //Offset of WideChar+0
DWORD offDocumentName; //Offset of WideChar+0
DWORD offPort; //Offset of WideChar+0
DWORD offPrinterName; //Offset of WideChar+0
DWORD offDriverName; //Offset of WideChar+0
DWORD offDevMode; //Offset of DEVMODE
DWORD offPrintProcessor; //Offset of WideChar+0
DWORD offDataFormat; //Offset of WideChar+0
DWORD dwUnknown2;
SYSTEMTIME stSubmitTime;
DWORD dwStartTime;
DWORD dwUntilTime;
DWORD dwSizeSPL; //Size of SPL File
DWORD dwPageCount;
DWORD dwSizeSecurityInfo; //Size of SecurityInfo
DWORD offSecurityInfo; //Offset of SECURITY_DESCRIPTOR
DWORD dwUnknown3;
DWORD dwUnknown4;
DWORD dwUnknown5;
DWORD offComputername; //Offset of WideChar+0
DWORD dwSPLSize2;
} SHADOW_FILE_HEADER_67, *PSHADOW_FILE_HEADER_67;

typedef struct _SHADOW_FILE_HEADER_66 {
DWORD dwSignature; //SHD_SIGNATURE_66
WORD wStatus;
WORD wUnknown1;
DWORD dwJobID;
DWORD dwPriority;
DWORD offUserName; //Offset of WideChar+0
DWORD offNotifyName; //Offset of WideChar+0
DWORD offDocumentName; //Offset of WideChar+0
DWORD offPort; //Offset of WideChar+0
DWORD offPrinterName; //Offset of WideChar+0
DWORD offDriverName; //Offset of WideChar+0
DWORD offDevMode; //Offset of DEVMODE
DWORD offPrintProcessor; //Offset of WideChar+0
DWORD offDataFormat; //Offset of WideChar+0
DWORD dwUnknown2;
SYSTEMTIME stSubmitTime;
DWORD dwStartTime;
DWORD dwUntilTime;
DWORD dwSizeSPL; //Size of SPL File
DWORD dwPageCount;
DWORD dwSizeSecurityInfo; //Size of SecurityInfo
DWORD offSecurityInfo; //Offset of SECURITY_DESCRIPTOR
DWORD dwUnknown3;
DWORD dwUnknown4;
DWORD dwUnknown5;
} SHADOW_FILE_HEADER_66, *PSHADOW_FILE_HEADER_66;

typedef struct _SHADOW_FILE_HEADER_4B {
DWORD dwSignature; //SHD_SIGNATURE_4B
WORD wStatus;
WORD wUnknown1;
DWORD dwJobID;
DWORD dwPriority;
DWORD offUserName; //Offset of WideChar+0
DWORD offNotifyName; //Offset of WideChar+0
DWORD offDocumentName; //Offset of WideChar+0
DWORD offPort; //Offset of WideChar+0
DWORD offPrinterName; //Offset of WideChar+0
DWORD offDriverName; //Offset of WideChar+0
DWORD offDevMode; //Offset of DEVMODE
DWORD offPrintProcessor; //Offset of WideChar+0
DWORD offDataFormat; //Offset of WideChar+0
DWORD dwUnknown2;
SYSTEMTIME stSubmitTime;
DWORD dwStartTime;
DWORD dwUntilTime;
DWORD dwSizeSPL; //Size of SPL File
DWORD dwPageCount;
DWORD dwSizeSecurityInfo; //Size of SecurityInfo
DWORD offSecurityInfo; //Offset of SECURITY_DESCRIPTOR
DWORD dwUnknown3;
} SHADOW_FILE_HEADER_4B, *PSHADOW_FILE_HEADER_4B;


Cualquier información, contactar a HUGO CORTES pesfom @ yahoo . com

Última edición por marcoszorrilla fecha: 06-12-2011 a las 19:48:35.
Responder Con Cita
  #2  
Antiguo 06-12-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amigo ASAPLTDA, de un usuario novato me lo espero, pero de tí me ha resultado raro, no sé si alguien está entrando con tu nick
El código debe ponerse entre etiquetas [delphi], [sql], [code], etc.
No se pone emails porque los robots ya lo habrán detectado y serás bombardeado con correo spam.
No se pide a nadie que te contacte por email, entonces, ¿para qué están los foros?.
En fin, no lo entiendo
Responder Con Cita
  #3  
Antiguo 06-12-2011
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
Informacion Inadecuada

Hola Casimiro, gracias por tus comentarios. podrias eliminar el correo de la persona, es que fue una copia de las intrucciones de lectura que encontre comom ayuda, y por error se me fue el correo del senor Gracias
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
Manejo Spool en Store proc el_barto Oracle 0 23-02-2010 14:49:42
Interpretar achivos dwg (CAD) Val Gráficos 1 16-01-2008 06:56:14
Interpretar SQL juanpe Firebird e Interbase 4 11-07-2007 10:07:58
Consulta sobre Spool. Lucciano Oracle 0 16-05-2007 15:45:34
Interpretar mensajes de MS-Dos verm83 Varios 3 07-04-2004 15:41:53


La franja horaria es GMT +2. Ahora son las 20:48:06.


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