Windows에서 사용되는 DOS 커서 설정하는 것은 꼭 Hexa Code Editor을 만들기 위해서 사용되는 방법이 아니다.


 단, 이걸 이용해서 DOS의 커서를 설정해야지만이 TUI을 제작할 수 있기 때문에 기록하는 것이다.


 DOS의 커서를 설정하는데 사용되는 함수는 setConsoleCursorPosition[각주:1]이라는 함수이다.


 이 함수를 이용하면, 만들어지고, 어셈블리어를 설정하면, 또다른 방법으로 TUI을 설정할 수 있다.(이것은 나중에 찾아봐야겠다.)


 예제)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
 
#include <windows.h>
 
int main()
{
    COORD coord;
 
    coord.X = 10;
    coord.Y = 20;
 
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
 
    printf("Hello world!\n");
    
    return 0;
}
 
 
cs


 여기서 COORD[각주:2]라는 구조체가 필요하게 된다.

 여기서 coord라는 녀석은 콘솔의 X, Y의 값을 저장하는 구조체가 있다.

 GetStdHandle()[각주:3]은 콘솔의 핸들러를 받아서 처리하는 것이다.

 STD_OUTPUT_HANDLE이라는 것은 기본적으로 설정되어 있는 핸들이다.


 여기 핸들의 정보는 각주를 참조하는게 좋을 것으로 생각한다.

Posted by JunkMam
,