REM $INCLUDE: 'QBX.BI' ' QB.BI pour QuickBASIC 4.x DIM ENTREE AS RegType DIM SORTIE AS RegType ' Obtenir le segment du PSP du programme en cours ENTREE.AX = &H6200 ' Fonction 62h CALL INTERRUPT(&H21, ENTREE, SORTIE) ' Interruption 21h (DOS) PSP = SORTIE.BX ' BX donne le segment du PSP ' Obtenir le segment de l'environnement du programme DEF SEG = PSP ENVIRONNEMENT = PEEK(&H2D) * 256 + PEEK(&H2C) ' Lire le mot à l'offset 2Ch ' Faire pointer l'offset sur le mot nul DEF SEG = ENVIRONNEMENT OFFSET = 0 WHILE PEEK(OFFSET + 1) OR PEEK(OFFSET) ' Tant que mot non nul, OFFSET = OFFSET + 1 ' incrémente par octet. WEND ' Faire pointer l'offset après le mot nul et le compteur OFFSET = OFFSET + 4 ' Pointe la spécification ' Lire la spécifiction complète du fichier exécuté SPECIFICATION$ = "" CARACTERE = PEEK(OFFSET) WHILE CARACTERE <> 0 SPECIFICATION$ = SPECIFICATION$ + CHR$(CARACTERE) OFFSET = OFFSET + 1 CARACTERE = PEEK(OFFSET) WEND DEF SEG PRINT "La chaîne qui contient la spécification complète du programme exécuté" PRINT "est longue de"; LEN(SPECIFICATION$); "caractères :" PRINT SPECIFICATION$
Web analytics