Enlever la croix quitter du cmd via le langage c
Résolu/Fermé
mariusvn
Messages postés
11
Date d'inscription
mercredi 3 avril 2013
Statut
Membre
Dernière intervention
6 avril 2013
-
3 avril 2013 à 23:11
mariusvn Messages postés 11 Date d'inscription mercredi 3 avril 2013 Statut Membre Dernière intervention 6 avril 2013 - 6 avril 2013 à 17:53
mariusvn Messages postés 11 Date d'inscription mercredi 3 avril 2013 Statut Membre Dernière intervention 6 avril 2013 - 6 avril 2013 à 17:53
A voir également:
- Enlever la croix quitter du cmd via le langage c
- Cmd - Guide
- Forcer à quitter windows - Guide
- Scannow cmd - Guide
- Comment enlever une page sur word - Guide
- Signification rectangle avec croix dedans ✓ - Forum Samsung
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
4 avril 2013 à 21:58
4 avril 2013 à 21:58
Impossible de manière standard. Ce n'est pas le C qui gère l'affichage de la fenêtre MS-DOS mais l'OS. Il faut donc que tu vois en amont.
Ou alors, il faut passer par une application graphique C (plus compliqué).
Sinon pour info, si ton programme se résume à appeler un .bat, il y a des outils plus adaptés que le C. Pourquoi faire du C ?
Ou alors, il faut passer par une application graphique C (plus compliqué).
Sinon pour info, si ton programme se résume à appeler un .bat, il y a des outils plus adaptés que le C. Pourquoi faire du C ?
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 5/04/2013 à 11:00
Modifié par [Dal] le 5/04/2013 à 11:00
Salut mariusvn,
Comme fiddy l'a indiqué, en C standard, tu ne peux pas influer sur la console.
Cependant, puisque tu es sous Windows, tu peux utiliser les API Windows pour paramétrer la console.
La fonction SetConsoleDisplayMode permet, par exemple, de forcer l'affichage d'une console en plein écran (il n'y a donc pas de "croix du cmd", puisqu'il n'y a même pas de fenêtre).
Elle est décrite ici :
https://docs.microsoft.com/en-us/windows/console/setconsoledisplaymode?redirectedfrom=MSDN
Comme l'indique cette documentation, la fonction est incluse dans kernel32.dll.
Si tu utilises un environnement de programmation MinGW, tu peux faire cela pour charger dynamiquement cette dll dans ton programme, et faire usage de cette API :
Dal
Comme fiddy l'a indiqué, en C standard, tu ne peux pas influer sur la console.
Cependant, puisque tu es sous Windows, tu peux utiliser les API Windows pour paramétrer la console.
La fonction SetConsoleDisplayMode permet, par exemple, de forcer l'affichage d'une console en plein écran (il n'y a donc pas de "croix du cmd", puisqu'il n'y a même pas de fenêtre).
Elle est décrite ici :
https://docs.microsoft.com/en-us/windows/console/setconsoledisplaymode?redirectedfrom=MSDN
Comme l'indique cette documentation, la fonction est incluse dans kernel32.dll.
Si tu utilises un environnement de programmation MinGW, tu peux faire cela pour charger dynamiquement cette dll dans ton programme, et faire usage de cette API :
#include <stdio.h> #include <stdlib.h> #include <windows.h> /* * Exemple de code Windows pour un programme console compilé avec MinGW * permettant l'affichage de la console en plein écran */ #define CONSOLE_FULLSCREEN_MODE 1 typedef BOOL (WINAPI *SetConsoleDisplayModeProc)(HANDLE, DWORD, PCOORD); int main(void) { HMODULE dll; COORD coord; /* on charge kernel32.dll */ if (!(dll = LoadLibrary("kernel32.dll"))) { printf("Erreur : impossible de charger kernel32.dll"); system("PAUSE"); exit(EXIT_FAILURE); } SetConsoleDisplayModeProc SetConsoleDisplayMode = (SetConsoleDisplayModeProc) GetProcAddress(dll, "SetConsoleDisplayMode"); /* on obtient un handle sur la console */ HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); if (hConsole == NULL || hConsole == INVALID_HANDLE_VALUE) { printf("Erreur : impossible d'obtenir" "un handle sur la console"); system("PAUSE"); FreeLibrary(dll); exit(EXIT_FAILURE); } /* on appelle l'API Windows SetConsoleDisplayMode */ if (!SetConsoleDisplayMode(hConsole, CONSOLE_FULLSCREEN_MODE, &coord)) { printf("Erreur : impossible de mettre " "la console en mode plein écran"); system("PAUSE"); FreeLibrary(dll); exit(EXIT_FAILURE); } printf("Bonjour, je suis en plein écran :-)\n"); system("PAUSE"); /* on libère kernel32.dll */ FreeLibrary(dll); return 0; }
Dal
mariusvn
Messages postés
11
Date d'inscription
mercredi 3 avril 2013
Statut
Membre
Dernière intervention
6 avril 2013
3
6 avril 2013 à 17:53
6 avril 2013 à 17:53
merci pour l'info :)