PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Appli dos
Appli dos
Iniciado por Gérard, jul., 25 2005 12:37 PM - 3 respostas
Publicado em julho, 25 2005 - 12:37 PM
Comment executer une application dos dans une fenetre windev?
Publicado em julho, 25 2005 - 1:16 PM
Pour lancer une appli DOS :

DDELance("C:\application.bat",exeIconise,Vrai,"C:\")

Mais à l'intérieur d'une fenêtre Windev... cela me semble impossible !
Publicado em julho, 25 2005 - 1:17 PM
bonjour,

A mon avis DANS une fenetre purment windev on doit pas pouvoir, le plus simple est de faire un "execute" du programme DOS via Windev et de passer par une fentre DOS du windows. Ou un Lance AppliAssocié à un raccourci de ton appli DOS , ce qui revient au meme. Mais la question est interressante et si qq1 a une idée je suis aussi preneur :)
Publicado em julho, 26 2005 - 3:01 PM
// un exemple d'application Console avec Windev
FOREGROUND_BLUE est un entier long = 0x1
FOREGROUND_GREEN est un entier long = 0x2
FOREGROUND_RED est un entier long = 0x4
BACKGROUND_BLUE est un entier long = 0x10
BACKGROUND_GREEN est un entier long = 0x20
BACKGROUND_RED est un entier long = 0x40
BACKGROUND_INTENSITY est un entier long = 0x80
BACKGROUND_SEARCH est un entier long = 0x20
FOREGROUND_INTENSITY est un entier long = 0x8
FOREGROUND_SEARCH est un entier long = 0x10
STD_OUTPUT_HANDLE est un entier long = -11
STD_INPUT_HANDLE est un entier long = -10
STD_ERROR_HANDLE est un entier long = -12
INVALID_HANDLE_VALUE est un entier long = -1

hWnd est un entier
hcOut est un entier long
hcIn est un entier long
hcErr est un entier long
lpBuffer, lpTitle sont des chaînes asciiz sur 255

// Obtenir mon handle
hWnd = Handle()

// Crée la console
Si AppelDLL32("kernel32","AllocConsole") Alors

hCOut = AppelDLL32("kernel32","GetStdHandle", STD_OUTPUT_HANDLE)
Si hCOut = INVALID_HANDLE_VALUE Alors Erreur("Impossible d'obtenir le STDOUT")
hCIn = AppelDLL32("kernel32","GetStdHandle", STD_INPUT_HANDLE)
Si hCOut = INVALID_HANDLE_VALUE Alors Erreur("Impossible d'obtenir le STDIN")
Sinon
Erreur("Impossible d'allouer une console")
Fin

// Mettre un titre pour la fenêtre console
AppelDLL32("kernel32","SetConsoleTitleA", "Console Windev")

// Mettre une couleur de fond et de texte dans la console en
// texte jaune brillant sur fond bleu
AppelDLL32("kernel32","SetConsoleTextAttribute", hCOut, ...
FOREGROUND_RED + FOREGROUND_GREEN + ...
FOREGROUND_INTENSITY + BACKGROUND_BLUE)
// Ecrire quelque chose dans la console
AppelDLL32("kernel32","WriteConsoleA", ...

hCOut, "Bonjour l'univers !" + RC, 21, &hcErr, Null)
// Du code offert par Beaussier en ligne !
AppelDLL32("kernel32","WriteConsoleA", ...
hCOut, "Entrez votre nom : ", 19, &hcErr, Null)
// Demander une saisie et la montrer dans la barre titre
AppelDLL32("kernel32","ReadConsoleA", ...

hCIn, &lpBuffer, 254, &hcErr, Null)
lpTitle = "Votre nom : " + Gauche(lpBuffer, Taille(lpBuffer)-2)
AppelDLL32("user32", "SetWindowTextA", hWnd, &lpTitle)
// Enfin détruire la console
AppelDLL32("kernel32","CloseHandle", hcOut)
AppelDLL32("kernel32","CloseHandle", hcIn)
AppelDLL32("kernel32","FreeConsole")