IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Programmation system sous Windows XP


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Programmation system sous Windows XP
    Salut

    Dans le passe, il etait plus facile d acceder aux interuptions du BIOS et DOS mais avec la protection de Windows XP pour la stabilite de la machine, la tache s est surement compliquee, voire acces verrouille.

    Voila j apprend a utiliser les interuptions surtout BIOS (int13h) sous Delphi 7 avce la directive asm, mais j arrive pas a declencher les interuptions.

    J ai essaye avec la commande en ligne debug c est fonctionnel. Mais je voudrais integrer les fonctions de traitement des disquettes bas niveau dans mon Appli. J ai lu ailleur qu il y a des alternatives a travers les services de windows mais j en ai aucune idee.

    Merci d avance pour vos conseils

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Oublie les interruptions DOS sous XP, tu es en mode protégé.

    Du coup, certaines fonctionnent encore, mais pas de la même façon, et d'autres plus du tout (La liste des interruptions système se trouve sur le site d'un dénommé Ralph Brown, si mes souvenirs sont bons...)

    Sinon, pour accéder en bas niveau au niveau des disquettes, tu peux "lire" ta disquette comme s'il s'agissait d'un simple fichier.
    Tu trouveras du code, ici, qui te permettra de lire ou d'écrire secteur par secteur ( utilisé ici pour changer le numéro de série d'un disque) :
    http://www.developpez.net/forums/sho...00&postcount=9



    bon dev

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Salut

    Merci pour l information. Je me demande si le meme code peut etre exploiter pour acceder au Boot du disque dur (J ai pas de Delphi installe pour essayer moi meme, je suis encore en theorie ).

    Pour la list des interruptions, effectivement c est Ralph Brown qui en est l auteur. En voici le lien Interrupts List. Pour approffondir je vou slivre un site bourre d informations Interrupts Table

    Est ce que quelqu un a remarque un bug dans debug.exe. Je voulais tapper " quit " pour sortir du programme, et comme par erreur j ai ecrit "qiut" et cela a le meme effet.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Salut;

    Merci pour le code. Je viens d installer Delphi 10 pour verifier le code. C est parfait! Justement ce que je cherchait.

    Voila mon code:

    const bootsector=0; //numerco du secteur de boot
    var
    ByteFile:file of Byte; // Pour stocker ou lire un secteur ;
    OffsSector:TDump; //Type declarer dans l exemple precedent de Waskol
    ..
    begin
    assignfile(ByteFile,'C:\Boot.bin');
    rewrite(ByteFile);
    Readsector('c',BootSector,OffsBoot); //Lire secteur 0 du disque C:
    Blockwrite(ByteFile,OffsBoot,512); // Enregister le secteur dans un fichier
    Closefile(ByteFile);
    end;
    A noter que vous n aurez pas grand chose si vous exporter votre resultat vers un TMemo ou un TStrings a cause de Zero Terminal qui est gere differement avec ces composants la..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. débutant - Problème programme C sous windows
    Par pedro134 dans le forum C
    Réponses: 15
    Dernier message: 17/03/2007, 09h11
  2. [C++] Programme console sous Windows
    Par Invité4 dans le forum Windows
    Réponses: 4
    Dernier message: 17/08/2006, 21h53
  3. Programmation Perl sous Windows
    Par ArHacKnIdE dans le forum Langage
    Réponses: 23
    Dernier message: 26/05/2006, 17h22
  4. Programmation systeme sous Unix
    Par Premium dans le forum Linux
    Réponses: 9
    Dernier message: 11/03/2006, 09h40
  5. Programmation bash sous windows?
    Par sali dans le forum Linux
    Réponses: 2
    Dernier message: 07/12/2005, 19h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo