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

Turbo Pascal Discussion :

[TP]besoin d'aide pour commandes inconnues


Sujet :

Turbo Pascal

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 8
    Points : 5
    Points
    5
    Par défaut [TP]besoin d'aide pour commandes inconnues
    bonjour
    voila j'aimerais savoir et si oui comment faire pour faire eteindre ou faire rebooter un ordi grace a une commande turbo pascal.
    j'aimerais aussi savoir comment on fait pour que quand on lanec un prog turbo pascal celui ci soit en plein ecran directement.
    Merci beaucoup

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 230
    Points : 148
    Points
    148
    Par défaut
    Que veux-tu dire par plein écran?
    Si tu travaille sur TP version 6 ou 7 sous DOS l'execution sera tjs en plein écran.
    L'union fait la force.

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    j'ai tp 7 et lorsque je lance mon .exe c'est dans une fenetre, pas en plein ecran...

  4. #4
    Membre régulier
    Inscrit en
    Août 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 132
    Points : 102
    Points
    102
    Par défaut
    pour l'avoir en plein écran, c'est pas une question de turbo pascal, je pense que Win gère ça :

    click droit sur ton prog.exe
    propriétés
    onglet écran --> cocher plein écran

    (mon pc tourne sous win XP, je sais pas si ca marche comme ca pour tous les win, mais tu peux tjrs essayer...)

  5. #5
    Membre averti Avatar de charly
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 329
    Points : 358
    Points
    358
    Par défaut
    je ne crois pas que le probs est la .. tu peux passer en mode graphique avec l unites graph ou changer de mode text sa te metera en pleine ecran ... je te conseil l unites e hdd34 elle est dans les contib d haypo et elle est exelente ....
    6*8 =42

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci bcp tous les deux mon probleme a ete resolu en faisant les prorpietes de l'exe...
    par contre si vous savez comment eteindre un PC grace a TP je suis preneur...

  7. #7
    Membre averti Avatar de charly
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 329
    Points : 358
    Points
    358
    Par défaut
    grace a tp non ... et eteindre correctemement non plus ... masi je peux te cree une chtit unites avec une procedure!!!! en asm ou alors tu peux la faire tous seul masi bon si tu ne connasi pas beaucoup l asm tu vas galerer ...bref sinon le porbs de ton progfs ...c est que chez qq un d autre il va s afficher en fenetre et ma soltion contourner le probleme ... enfin bon c est pas grave ..... dans tous les cas pour l unites demmande ... en se moment j ai un chttit peux de temps
    6*8 =42

  8. #8
    Inactif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci bcp
    en fait c pas grave que cela ne s'affiche en plein ecran que chez moi parcequ'en fait c'est un prog de mot de passe qui se lance a l'ouverture de windows...
    si le mot de passe etait mauvais je voulais que ca eteigne le PC mais si c impossible (ou trop complique pour le newbie que je suis je vais faire une boucle qui ne s'arretera que lorsque le bon mot de pass sera donne, en attendant de trouver mieux
    merci encore

  9. #9
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Pour rebooter, y'a l'INT 19h mais c'est à vos risques et périls
    Sous DOS, l'ordi reboote, mais sous windows ça ferme juste la fénêtre DOS ( et le programme ).
    Ou alors encore pire on jumpe sur F000:FFF0h ( je crois que c'est la bonne addresse ) : ça doit marcher sous DOS, mais sous windows bonjour les dégats...( je sais pas j'ai jamais testé mais ça doit surement buguer après le boot )

    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  10. #10
    Membre émérite

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Points : 2 717
    Points
    2 717
    Par défaut
    Pour quitter Windows, il y a une commande qui utilise Rundll32, mais je ne la connait plus. Faut chercher (sur un site d'astuces Windows) ! Après un p'tit Exec devrait fonctionner!

    @+ Haypo

  11. #11
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Alors alors....

    Pour le mode réel Dos, l'int 19h permet de rebooter le PC lorsque qu'il n'y a pas de TSR en mémoire ! Donc quand Windows est derrière... Je n'en parle même pas.
    Pourquoi ? Simplement pare que l'int 19h met à zéro la table des vecteurs d'interruption, et quand un TSR appelle un timer, on lance la procédure en 0000:0000. C'est pas joli à voir...
    Mais sous Dos pur, juste au démarrage, ça marche super.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    inline($CD/$19);
     
    ou
     
    asm
      int 19h
    end;

    Autrement, pour rebooter le PC, il y a une autre méthode, qui là encore, ne fonctionnera pas sous Windows car il s'agit d'écrire des données en mémoire far.

    Pour éteindre le PC sous Windows, tu peux tenter d'appeler le programme suivant, en respectant le tout :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rundll32 user.exe,exitwindows
    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  12. #12
    Inactif
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci pour votre aide mais je crois que je vais m'en tenir a une boucle, j'ai pas envie de faire sauter cette merde de windows (du moins pas tout de suite)...

  13. #13
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Quand on aime, on ne s'en passe plus !

    Une bonne vieille astuce :

    Tu veux empêcher un utilisateur de démarrer Windows sans ton mot de passe dans une fenêtre Dos.
    C'est plutôt simple. Une fois que tu as modifié les propriétés de ton exe de façon à ce qu'il s'exécute en plein écran et qu'il ne réagisse plus aux touches Windows, le dernier truc à faire est de bloquer Windows.

    Pour ce faire, il suffit de passer ta fenêtre Dos en mode exclusif.

    Voilà la méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    function WinPresent: Boolean; assembler;
    asm
      mov ax, 1600h
      int 2Fh
    end;
     
    procedure WinProtect; assembler;
    asm
      call WinPresent
      or   al, al
      je   @@1
      mov  ax, 1681h
      int  2Fh
    @@1:
    end;
     
    procedure WinUnprotect; assembler;
    asm
      call WinPresent
      or   al, al
      je   @@1
      mov  ax, 1682h
      int  2Fh
    @@1:
    end;
    Avec ça, t'es tranquille. Par contre, n'oublie pas de débloquer Windows à la fin...

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  14. #14
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ou sinon, pour rebooter, y'a l'API de windows:

    AX = 1684h
    BX = 9h

    On y accède avec l'INT 2F mais j'ai jamais testé ça... ( je crois que saïd l'avait testé à l'époque mais je sais pas s'il avait réussi )
    a+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  15. #15
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    L'API Windows que tu donnes utilise le VXD REBOOT, et ne fonctionnera qu'en mode protégé. De plus, je me demande même s'il n'est pas nécessaire d'avoir une appli graphique ou console.

    Bref, ça ne fonctionne pas sous Turbo Pascal en mode réel (déjà testé...).

    Pour expliquer mon code source, je ne dirais qu'une seule chose (enfin peut-être plus !) :

    1. Il faut connaître un minimum d'assembleur (et je ne fais pas de cours, désolé)

    2. Il faut avoir une doc sur les interruptions (comme la Ralph Brown's Interrupt List, va la chercher sur Google !)

    3. Il faut mixer le tout !


    En clair, mon code source vérifie si Windows est en mémoire avant d'appeler les fonctions servant à passer une appli en mode exclusif, puis à la repasser en mode normal.

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  16. #16
    Membre habitué

    Inscrit en
    Avril 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 32
    Points : 150
    Points
    150
    Par défaut
    Merci Hdd32 !

    J'avais jamais compris pourquoi mon int 19h faisait tout planter (même au deuxième rebootage, je confirme !).

    Je vais pouvoir reprendre certains programmes...
    Cool !

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

Discussions similaires

  1. Besoin d'aide pour command mirc
    Par PMelgibson dans le forum IRC / mIRC
    Réponses: 1
    Dernier message: 27/01/2014, 16h07
  2. Besoin d'aide pour une commande
    Par maxwell86 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 20/10/2008, 11h44
  3. Besoin d'aide pour la commande ShellExecute
    Par samy100 dans le forum C
    Réponses: 13
    Dernier message: 19/10/2006, 02h19
  4. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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