OVH Cloud OVH Cloud

console

11 réponses
Avatar
Jean Pierre Daviau
Bonjour à tous, me revoilà

Ça marche. Y a-t-il quelque part du code ou des infos sur console?
J'ai trouvé un bout de code dans Schildt's win95. On part d'où on est
n'est-ce pas?
Donc, mis à part wincon.h, où se cachent les infos là-dessus.
J'ai été sur MSdn. Hum...

--------------------------- extrait ------------
#include <windows.h>
#include <string.h>
#include <stdio.h>

void consol(void);
DWORD result;
COORD coord;
int x=0, y=0;
HANDLE hStdin, hStdout;

int main()
{
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout, FOREGROUND_INTENSITY | FOREGROUND_GREEN |
FOREGROUND_BLUE);
/* WriteConsole(hStdout, astr, strlen(astr), &result, NULL); */

printf("N'importe quoi.");

return 0;
}

void consol(){

HANDLE hStdin, hStdout;
char str[255] = "This is an example of output to a console.";

int i;

/* free old console and start fresh with new one */
FreeConsole();
AllocConsole();
...


Merci à tous, bonne journée, bonne continuation...


-- -------------------------------
Jean Pierre Daviau
--
http://jeanpierredaviau.com

10 réponses

1 2
Avatar
GG
Bonjour,

Ça marche. Y a-t-il quelque part du code ou des infos sur console?



Encore quelqu'un qui n'a pas pris connaissance des exemples qui
sont livrés avec VC++ peut-être :
C:samplesVC98sdkwinuiconsole
Les exemples, ma bible. :-)

--
Cordialement.
GG.
Avatar
castorix
"Jean Pierre Daviau" wrote in message news:<Qmm_d.30010$...
Y a-t-il quelque part du code ou des infos sur console?
J'ai été sur MSdn. Hum...



Je ne vois pas ce qu'il manque à MSDN...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/character_mode_applications.asp
Avatar
Jean Pierre Daviau
"Christian ASTOR" a écrit dans le message de
news:
| "Jean Pierre Daviau" wrote in message
news:<Qmm_d.30010$...
| > Y a-t-il quelque part du code ou des infos sur console?
| > J'ai été sur MSdn. Hum...
|
| Je ne vois pas ce qu'il manque à MSDN...
|
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/character_mode_applications.asp

OK. J,ai trouvé.
ALOCFREE.C
CODEPAGE.C
CONINFO.C
CONINFO.obj
CONINFO.tds
CONMODE.C
CONSOLE.C
console.dsp
CONSOLE.H
etc.

Petite question.
Peut-on positionner la console au point (Top =0, Left = 0) ou à un autre
endroit sur l'écran? Avec quelle fonction? J'ai pu modifier l'aspect, etc.
mais pas la positionner.

Jean Pierre
Avatar
Christian ASTOR
Jean Pierre Daviau wrote:

Peut-on positionner la console au point (Top =0, Left = 0) ou à un autre
endroit sur l'écran? Avec quelle fonction?



SetConsoleCursorPosition()
Avatar
Jean Pierre Daviau
Cela devrait placer le curseur sur la fenêtre.
Ce que je veux c'est placer la fenêtre à un endroit précis de l'écran.

"Christian ASTOR" a écrit dans le message de
news: 423b9214$0$15276$
| Jean Pierre Daviau wrote:
|
| > Peut-on positionner la console au point (Top =0, Left = 0) ou à un
autre
| > endroit sur l'écran? Avec quelle fonction?
|
| SetConsoleCursorPosition()
Avatar
Christian ASTOR
Jean Pierre Daviau wrote:

Ce que je veux c'est placer la fenêtre à un endroit précis de l'écran.



KB124103 + MoveWindow() ou SetWindowPos()
Avatar
Jean Pierre Daviau
"Christian ASTOR" a écrit dans le message de
news: 423c517a$0$15287$
| Jean Pierre Daviau wrote:
|
| > Ce que je veux c'est placer la fenêtre à un endroit précis de l'écran.
|
| KB124103 + MoveWindow() ou SetWindowPos()

Elle ne bouge pas

#include <windows.h>
#include <string.h>
#include <stdio.h>
#include "F:stuffJPmyWindowsconsoleconsole.h"
#include "F:stuffJPmyWindowsconsolesize.h"

/* used to set our initial console screen buffer size */
#define CONX 43
#define CONY 50
HANDLE hConOut;
DWORD result;
COORD coord;

int main()
{
hConOut = GetStdHandle(STD_OUTPUT_HANDLE);
/* MoveWindow() ou SetWindowPos() */
SetConsoleTextAttribute(hConOut, FOREGROUND_GEEN);

MoveWindow(hConOut, 0, 0, CONX, CONY, 0);

return 0;
}
/*
MoveWindow(
IN HWND hWnd,
IN int X,
IN int Y,
IN int nWidth,
IN int nHeight,
IN BOOL bRepaint);

WINUSERAPI
BOOL
WINAPI
SetWindowPos(
IN HWND hWnd,
IN HWND hWndInsertAfter,
IN int X,
IN int Y,
IN int cx,
IN int cy,
IN UINT uFlags);
*/
Avatar
Serge Paccalin
Le samedi 19 mars 2005 à 21:24:13, Jean Pierre Daviau a écrit dans
fr.comp.os.ms-windows.programmation :

|> Ce que je veux c'est placer la fenêtre à un endroit précis de l'écran.
|
| KB124103 + MoveWindow() ou SetWindowPos()

Elle ne bouge pas
HANDLE hConOut;

hConOut = GetStdHandle(STD_OUTPUT_HANDLE);

MoveWindow(hConOut, 0, 0, CONX, CONY, 0);



Et le compilateur n'a rien dit quand tu as passé un HANDLE à une
fonction qui attend un HWND !?

Essaie :

// N.B.: Requires Windows XP or Windows 2000 Professional.
HWND hWnd = GetConsoleWindow();

MoveWindow(hWnd, 0, 0, 640, 480, 0);

--
___________ 2005-03-19 21:43:12
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Avatar
Christian ASTOR
Jean Pierre Daviau wrote:

Elle ne bouge pas
hConOut = GetStdHandle(STD_OUTPUT_HANDLE);
MoveWindow(hConOut, 0, 0, CONX, CONY, 0);



Normal.
Je vois pas qu'est-ce que tu as fait de la fonction de la KB ou
GetConsoleWindow() comme a dit Serge...
Avatar
Jean Pierre Daviau
| Je vois pas qu'est-ce que tu as fait de la fonction de la KB ou
| GetConsoleWindow() comme a dit Serge...
désolé...
---
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include "F:stuffJPmyWindowsconsoleconsole.h"
#include "F:stuffJPmyWindowsconsolesize.h"

#define WIN32_WINNT 0x0501

HWND GetConsoleHwnd(void);
HWND GetConsoleWindow(void); /* Unresolved external */

int main()
{
HWND hWnd;
/* N.B.: Requires Windows XP or Windows 2000 Professional. */
hWnd = GetConsoleHwnd(); /* MoveWindow() ou SetWindowPos() */
MoveWindow(hWnd, 0, 0, 300, 600, 0);
GetConsoleWindow();

return 0;
}

HWND GetConsoleHwnd(void)
{
#define MY_BUFSIZE 1024 // Buffer size for console window titles.
HWND hwndFound; // This is what is returned to the caller.
char pszNewWindowTitle[MY_BUFSIZE]; // Contains fabricated
// WindowTitle.
char pszOldWindowTitle[MY_BUFSIZE]; // Contains original
// WindowTitle.

// Fetch current window title.

GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE);

// Format a "unique" NewWindowTitle.

wsprintf(pszNewWindowTitle,"%d/%d",
GetTickCount(),
GetCurrentProcessId());

// Change current window title.

SetConsoleTitle(pszNewWindowTitle);

// Ensure window title has been updated.

Sleep(40);

// Look for NewWindowTitle.

hwndFound=FindWindow(NULL, pszNewWindowTitle);

// Restore original window title.

SetConsoleTitle(pszOldWindowTitle);

return(hwndFound);
}
=========== Unresolved external
GetConsoleWindow introuvable dans KB ou msdn
----------
Ci-dessous ça fonctonne mais avec un problème de repaint(refresh) pour
l'ancienne fenêtre. qui demeure aparente.

Merci beaucoup.
1 2