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

VB 6 et antérieur Discussion :

[VB6] Lire et écrire sur une fenêtre dos...


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 14
    Points
    14
    Par défaut [VB6] Lire et écrire sur une fenêtre dos...
    Bonjour ou bonsoir, j'aurais besoin d'aide sur la recherche d'un script car j'ai cherché sur google depuis 3 jours sans donné de résultat.

    J'aimerais avoir un script qui lit les textes dans une fenêtre ms-dos et écrire dans cette fenêtre. J'ai trouvé pleins de scripts concernant le DOSoutput mais ces scripts ne fonctionnent pas avec le programme que j'ai.

    Merci à l'avance pour votre aide

    Si vous avez des idées, des liens ou le script en question, je serai quelqu'un de vraiment comblé de joie!

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Le problème est de maintenir ta fenêtre Dos ouverte
    Si tu fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Call Shell("cmd /c pause")
    la fenêtre dos reste ouverte, la frappe d'une touche la ferme
    Par contre, pour afficher quelque chose avant, tu dois passer par un .bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @Echo Coucou c'est moi
    @Echo Pour sortir de là, frappe une touche
    @Pause
    @ sert à masquer Echo et Pause à l'affichage
    Tu mets ça dans le bloc-notes, tu enregistres Message.bat et depuis VB, tu lances
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Shell("cmd /c c:\MonRep\Message.bat")
    Tant mieux si ça peut t'aider

    A+

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bonjour Ousk,

    La 1ère question que je poserais bien volontiers (car il a dit "lire et écrire")
    est : a-t-il vraiment besoin de maintenir sa fenêtre Dos ouverte pour celà seulement ? ou a-t-il une autre raison de la tenir affichée ?
    Sa formulation n'est pas claire : car les choses diffèrent considérablement s'il veut simplement lire et écrire dans le .bat ou s'il veut garder son exécution ouverte pour répondre à des invites du .bat
    Autre question : de quel type de fichier s'agit-il, d'ailleurs : . Bat ou .exe sous dos ?

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et on peu savoir de quel programme il sagit? les mécanismes de "pipes" ne te suffisent pas ?

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Ah désolé alors...

    Le programme programme en question est un client de chat .exe en ms-dos qui se connecte sur un serveur.

    Le problème c'est qu'avec le DOSoutput, il me ferme tout de suite la connection un fois celui-ci connecté et... ça ne fonctionne pas.

    Si le DOSoutput avec les "pipes" fonctionnerait bien, ce serait super car c'est comme si qu'il ferait partit de mon programme et aucune autre fenêtre serait affiché. Par contre, il déconnecte tout de suite la connection...

    J'ai aussi essayé avec FindWindowEx, FindWindow et SendMessage mais encore là, aucun succès.

    J'espère que j'ai donné assez d'explications ou sinon, reposez moi des questions! lol

    J'oubliais, le program dos en question a été créé en C++ et l'encryption pour se connecter sur le serveur est vraiment trop compliqué. C'est pourquoi que je voulais passer pas l'intermédiaire du programme en question.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    As-tu essayé de passer par un .bat pour lancer ton exe avec pause à la ligne suivante ?
    Juste une idée

    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par ouskel'n'or
    As-tu essayé de passer par un .bat pour lancer ton exe avec pause à la ligne suivante ?
    Juste une idée
    Tu veux dire de changer le .exe par un .bat et essayer?

    J'ai fait quelques experiences avec les codes que tu m'as donné mais ça ne tappe rien sur la fenêtre dos.

    Je vais continuer mes recherches en espérant que je vais finir par trouver et quand ce sera fait, je mettrai mes résultats ici. (À moins que quelqu'un aie déjà la solution...)

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Non, ce n'est pas ce que je voulais dire. Ce que je voulais dire c'es ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @Echo ATTENTION
    @Echo Je lance le programme depuis un bat
    @Pause
    @TonProgramme.exe
    @Pause
    Et ces lignes tu les mets dans un .bat à l'aide du bloc-notes

    Tu dis

    A+

  9. #9
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Bonjour, je ressort ce vieux sujet car il n'y a pas de réponse.
    Je souhaite aussi lire et écrire dans une fenêtre Dos.
    J'ai trouvé ce code en faisant une recherche sur DOSOutput:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    Option Explicit
     
    Private Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As Any, ByVal nSize As Long) As Long
    Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, ByVal lpBuffer As String, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function GetNamedPipeInfo Lib "kernel32" (ByVal hNamedPipe As Long, lType As Long, lLenOutBuf As Long, lLenInBuf As Long, lMaxInstances As Long) As Long
     
    Private Type SECURITY_ATTRIBUTES
        nLength As Long
        lpSecurityDescriptor As Long
        bInheritHandle As Long
    End Type
     
    Private Type STARTUPINFO
        cb As Long
        lpReserved As Long
        lpDesktop As Long
        lpTitle As Long
        dwX As Long
        dwY As Long
        dwXSize As Long
        dwYSize As Long
        dwXCountChars As Long
        dwYCountChars As Long
        dwFillAttribute As Long
        dwFlags As Long
        wShowWindow As Integer
        cbReserved2 As Integer
        lpReserved2 As Long
        hStdInput As Long
        hStdOutput As Long
        hStdError As Long
    End Type
     
    Private Type PROCESS_INFORMATION
        hProcess As Long
        hThread As Long
        dwProcessID As Long
        dwThreadID As Long
    End Type
     
    Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Private Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As Long, ByVal lpCommandLine As String, lpProcessAttributes As Any, lpThreadAttributes As Any, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As Any, lpProcessInformation As Any) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
     
     
    'Purpose     :  Synchronously runs a DOS command line and returns the captured screen output.
    'Inputs      :  sCommandLine                The DOS command line to run.
    '               [bShowWindow]               If True displays the DOS output window.
    'Outputs     :  Returns the screen output
    'Notes       :  This routine will work only with those program that send their output to
    '               the standard output device (stdout).
    '               Windows NT ONLY.
    'Revisions   :
     
    Function ShellExecuteCapture(sCommandLine As String, Optional bShowWindow As Boolean = False) As String
        Const clReadBytes As Long = 256, INFINITE As Long = &HFFFFFFFF
        Const STARTF_USESHOWWINDOW = &H1, STARTF_USESTDHANDLES = &H100&
        Const SW_HIDE = 0, SW_NORMAL = 1
        Const NORMAL_PRIORITY_CLASS = &H20&
     
        Const PIPE_CLIENT_END = &H0     'The handle refers to the client end of a named pipe instance. This is the default.
        Const PIPE_SERVER_END = &H1     'The handle refers to the server end of a named pipe instance. If this value is not specified, the handle refers to the client end of a named pipe instance.
        Const PIPE_TYPE_BYTE = &H0      'The named pipe is a byte pipe. This is the default.
        Const PIPE_TYPE_MESSAGE = &H4   'The named pipe is a message pipe. If this value is not specified, the pipe is a byte pipe
     
     
        Dim tProcInfo As PROCESS_INFORMATION, lRetVal As Long, lSuccess As Long
        Dim tStartupInf As STARTUPINFO
        Dim tSecurAttrib As SECURITY_ATTRIBUTES, lhwndReadPipe As Long, lhwndWritePipe As Long
        Dim lBytesRead As Long, sBuffer As String
        Dim lPipeOutLen As Long, lPipeInLen As Long, lMaxInst As Long
     
        tSecurAttrib.nLength = Len(tSecurAttrib)
        tSecurAttrib.bInheritHandle = 1&
        tSecurAttrib.lpSecurityDescriptor = 0&
     
        lRetVal = CreatePipe(lhwndReadPipe, lhwndWritePipe, tSecurAttrib, 0)
        If lRetVal = 0 Then
            'CreatePipe failed
            Exit Function
        End If
     
        tStartupInf.cb = Len(tStartupInf)
        tStartupInf.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW
        tStartupInf.hStdOutput = lhwndWritePipe
        If bShowWindow Then
            'Show the DOS window
            tStartupInf.wShowWindow = SW_NORMAL
        Else
            'Hide the DOS window
            tStartupInf.wShowWindow = SW_HIDE
        End If
     
        lRetVal = CreateProcessA(0&, sCommandLine, tSecurAttrib, tSecurAttrib, 1&, NORMAL_PRIORITY_CLASS, 0&, 0&, tStartupInf, tProcInfo)
        If lRetVal <> 1 Then
            'CreateProcess failed
            Exit Function
        End If
     
        'Process created, wait for completion. Note, this will cause your application
        'to hang indefinately until this process completes.
        WaitForSingleObject tProcInfo.hProcess, INFINITE
     
        'Determine pipes contents
        lSuccess = GetNamedPipeInfo(lhwndReadPipe, PIPE_TYPE_BYTE, lPipeOutLen, lPipeInLen, lMaxInst)
        If lSuccess Then
            'Got pipe info, create buffer
            sBuffer = String(lPipeOutLen, 0)
            'Read Output Pipe
            lSuccess = ReadFile(lhwndReadPipe, sBuffer, lPipeOutLen, lBytesRead, 0&)
            If lSuccess = 1 Then
                'Pipe read successfully
                ShellExecuteCapture = Left$(sBuffer, lBytesRead)
            End If
        End If
     
        'Close handles
        Call CloseHandle(tProcInfo.hProcess)
        Call CloseHandle(tProcInfo.hThread)
        Call CloseHandle(lhwndReadPipe)
        Call CloseHandle(lhwndWritePipe)
    End Function
     
     
    'Demonstration routine
    'NOTE: Create a file called "C:\test.bat" containing a single line:
    '   dir *.*
    Sub Test()
        Debug.Print ShellExecuteCapture("C:\test.bat", False)
    End Sub
    Mais si j'en ai bien compris le fonctionnement, celui-ci permet de connaitre le contenu de la fenêtre Dos une fois le programme terminer. Or je cherche plutôt quelque chose en RealTime.
    J'explique: J'utilise Putty pour me connecter à un serveur Linux. Après j'ai tout un tas de commandes à lancer. ces commandes ont des paramètres.
    Je souhaite faire une interface qui permet la saisie d'informations à travers un IHM et qui en arrière plan se connecterai avec Putty pour effectuer le travail en conséquence. Or les commandes demandes aussi certaines actions (taper "yes" et autres). Voila pourquoi je cherche du RealTime.
    J'ai réccupéré aussi PLink qui ressemble à Putty mais sans interface au démarrage, tout en ligne de commandes.

    Merci pour toute piste que je pourrai suivre
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  10. #10
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Après plusieurs recherche, j'ai trouver plusieurs codes utilisant les "pipe"
    Cela me conviendrai parfaitement si je ne rencontrait pas quelques petits problèmes :
    L'exemple le plus simple pour illustrer l'erreur et de tenter de lancer un ping sur www.google.fr (qui fonctionne parfaitement dans une invite de commande). Dans tous les codes que j'ai trouver, j'ai toujours la même réponse :
    La requête Ping n'a pas pu trouver l'hôte www.google.fr. Vérifiez le nom et essayez à nouveau.
    et ceci avec n'importe quel dns (or l'application fonctionne avec les dns et non les ip)

    merci pour toute suggestion
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    je sais pas si les "pipes" sont la solution à ton problème...

    mais pour un ping .. cela fonctionne..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Command1_Click()
    Shell "cmd /C ping www.google.fr > d:\tmp\ping.txt"
    End Sub
    le résultat :
    Envoi d'une requˆte 'ping' sur www.l.google.com [64.233.183.104] avec 32 octets de donn‚esÿ:

    R‚ponse de 64.233.183.104ÿ: octets=32 temps=594 ms TTL=244
    R‚ponse de 64.233.183.104ÿ: octets=32 temps=662 ms TTL=244
    R‚ponse de 64.233.183.104ÿ: octets=32 temps=785 ms TTL=244
    R‚ponse de 64.233.183.104ÿ: octets=32 temps=901 ms TTL=244

    Statistiques Ping pour 64.233.183.104:
    Paquetsÿ: envoy‚s = 4, re‡us = 4, perdus = 0 (perte 0%),

    Dur‚e approximative des boucles en millisecondes :

    Minimum = 594ms, Maximum = 901ms, Moyenne = 735ms

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 169
    Points
    17 169
    Par défaut
    Salut aux derniers intervenants
    Le sujet m'intéressant, j'ai cherché une solution, et grâce à la FAQ et au forum DOS de DVP, j'ai obtenu des infos fort intéressantes.

    Depuis ce lien, fournis par Drizzt [Drone38] qui m'a indiqué pourquoi je ne parvenais pas a utiliser la commande DOS COPY de l'exemple de la FAQ DOS.


    Citation Envoyé par Infos les plus importantes du lien
    Gratuitement un utilitaire DOS de Microsoft qui est inclus dans Windows Server 2003, un kit de ressources, mais fonctionne très bien pour Windows XP ou Vista.
    Il suffit de copier ce clip.exe [14 ko] fichier dans votre dossier Windows et ensuite l'utiliser avec un PIPE (|) dans votre opérateur commandes DOS.
    Voici quelques exemples:

    Dir / h | clip - Copiez le manuel de la commande DIR dans le presse-papiers

    Tracert www.labnol.org | clip - Trace le chemin de votre ordinateur vers un autre site Web - le résultat est automatiquement copié dans le presse-papiers et pas affichée à l'écran.

    Netstat | clip - Vérifiez si votre ordinateur est relié à des sites Internet à votre insu.

    Le clip.exe utilitaire peut également être utilisé pour copier le contenu des fichiers texte dans le Presse-papiers directement à partir de la ligne de commande.

    Clip <C: \ AUTOEXEC.bat - ceci vous permettra de copier tout le texte de votre autoexec.bat dans le Presse-papiers de Windows.
    Depuis voilà ou j'en suis
    Sur un Form, un CommandButton et un TextBox MultiLine = True et ScrollBars = 3
    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
    Private Sub Command1_Click()
    Dim ShL
    'pour fermeture de la fenêtre D0S /C, vbHide pour activer la fenêtre DOS mais
    'quelle n'apparaisse pas dans la barre des tâche de windows
    ShL = Shell("cmd /C ping www.google.fr|clip", vbHide)
    'pour ne pas fermer la fenêtre D0S /K
    'ShL = Shell("cmd /K ping www.google.fr|clip", vbMinimizedFocus)
    'Clipboard.Clear
    Text1 = "en cours ..."
    Clipboard.SetText "Attente"
    Do
     DoEvents
     On Error Resume Next
     If Clipboard.GetText <> "Attente" Then
      Text1.Text = Clipboard.GetText
      Exit Do
     End If
     If Err Then Err.Clear
    Loop
    DoEvents
    Text1.Text = Clipboard.GetText
    End Sub
    resulta dans Text1:

    Envoi d'une requête 'ping' sur www.l.google.com [66.249.93.104] avec 32 octets de données*:



    Réponse de 66.249.93.104*: octets=32 temps=67 ms TTL=245

    Réponse de 66.249.93.104*: octets=32 temps=67 ms TTL=245

    Réponse de 66.249.93.104*: octets=32 temps=67 ms TTL=245

    Réponse de 66.249.93.104*: octets=32 temps=67 ms TTL=245



    Statistiques Ping pour 66.249.93.104:

    Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),

    Durée approximative des boucles en millisecondes :

    Minimum = 67ms, Maximum = 67ms, Moyenne = 67ms
    avigeilpro L'analyse de la récupération permettra peut être de continuer le pilotage de la fenêtre dos, au lieux de finir comme l'exemple si dessus qui n'est pas un code fini, mais permet de faire des essais, le On Err.... ne me satisfaisant pas moi non plus, mais si non des fois j'ai l'erreur "impossible d'utilisé le clipoard ou cette operation" (je ne parviens pas a la reproduire pour donner le N° est la description exacte).
    Je continu a expirémenter .....
    En attendant, j'espère que cela pourra servir.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Euh ... je ne comprend pas tout :

    Bbil : je ne lance pas une invite de commande avec shell, mais en PIPE avec un createprocess, en effet avec une "vraie" invite de commande le ping fonctionne sur un dns, mais pas avec les PIPE (essaye le code donné un peu plus haut)

    ProgElect : Que contient ton Clipboard ?? si il s'agit du contenu de la fenêtre dos récupéré avec les copier collé j'ai essayé une méthode qui ne me convient pas, en effet si je veux un rafraichissement convenable la fenêtre clignote et empêche pas mal d'actions.

    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  14. #14
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 169
    Points
    17 169
    Par défaut
    salut
    ProgElect : Que contient ton Clipboard
    Il contient le resultat de la commande DOS, pour l'exemple, les performances de la connection à www.google.fr, exactement ce que j'ai mis dans: resulta dans Text1: , exemple simplement, si tu le met dans une variable, tu peus en faire ce que tu veus, suite a cette analyse, tu peus donner des ordres en consequences à la fenêtre DOS, avec Appactivate ShL : senkeys "{return}" ( de tête, je n'ai plus de projet ouvert sous la mains car je faisais un dernier tour sur DVP) pour par exemple valider une question posé dans la fenêtre DOS.

    Motif de l'edit reponse a la 2° remarques
    en effet si je veux un rafraichissement convenable la fenêtre clignote et empêche pas mal d'actions.
    Si tu n'as pas besoin que la fenêtre DOS sois visible passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'pour fermeture de la fenêtre D0S /C, vbHide pour activer la fenêtre DOS mais
    'quelle n'apparaisse pas dans la barre des tâche de windows
    ShL = Shell("cmd /C ping www.google.fr|clip", vbHide)
    Pas de probléme de clignotement, mais tu peus tout de même lire (par le biet de la command COPY / Clipoard GetText) et passer des ordres (avec des sendkeys) à la fenêtre DOS
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  15. #15
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Est-ce qu'il est possible de créer un équivalent de Clip.exe en VB ?
    J'ai bien essayé mais je n'ai pas trouvé ou arrivait ce qu'envoyait la fenêtre dos
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

Discussions similaires

  1. [VB6]Acces au positionnement d'un ctrl sur une fenêtre...
    Par New dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/04/2006, 08h16
  2. Faire défiler un texte sur une fenêtre
    Par Crisanar dans le forum Windows
    Réponses: 15
    Dernier message: 24/11/2004, 23h05
  3. [OS] Lire et écrire sur disquette
    Par trax44 dans le forum Programmation d'OS
    Réponses: 17
    Dernier message: 22/02/2004, 20h45
  4. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 09h36
  5. Rendre le curseur invisible sur une fenêtre donnée
    Par Meuhmeuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2002, 12h25

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