2010-03-08 8 views
2

Je dois écrire une ligne à la fois (processus itératif de l'utilisateur) dans une invite de commande déjà ouverte.Comment écrire dans une invite de commande déjà ouverte?

Je voudrais utiliser VB ou VBA. Je sais qu'il y a AppActivate, mais comment écrivez-vous?

L'invite de commande est exécutée par un autre programme (que je ne peux pas toucher).

Suggestions?

Répondre

2

Vous pouvez joindre une fenêtre de console déjà ouverte à l'aide de la fonction Windows API AttachConsole (sample VB code). Vous pouvez ensuite écrire dans STDOUT en utilisant this sample.

+0

Il semble que c'est ce que je recherche, mais j'ai besoin de le changer en VB.NET. Les APIs n'ont toujours pas beaucoup de sens pour moi, mais voici ce que j'ai changé: Private Declare Fonction WriteFile Lib "kernel32" (Fichier ByVal hFile As Long, _ ByVal lpBuffer As String, ByVal nNumberOfBytesToWrite As Long, _ ByVal lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) Cependant, une erreur «Tentative de lecture ou d'écriture de la mémoire protégée est souvent signalée, ce qui indique souvent qu'une autre mémoire est corrompue». – scojomodena

Questions connexes