일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CS
- tipssoft
- Tips강좌
- Javascript
- 프로그래밍
- 포인터
- Win32
- 배열
- Visual Studio
- 리뷰
- Tips프로그래밍강좌
- c
- 지식나눔강좌
- doit코틀린프로그래밍
- 연산자
- VS ERROR
- Direct2D
- 티스토리
- Windows
- 이지스퍼블리싱
- c++
- 김성엽
- 문법
- 알고리즘
- Kotlin
- Programming
- c#
- Desktop
- 백준
- 함수
- Yesterday
- Today
- Total
목록Windows (10)
F.R.I.D.A.Y.
모니터 위치 지정 Windows에서는 여러 개의 모니터를 사용할 때 각 모니터의 위치를 정할 수 있다. 나의 경우에는 1번 모니터를 메인으로 위에 2번 모니터가 존재하는 방식으로 사용한다. 이런 상황에서, 멀티 모니터 프로그래밍을 하려면 각 모니터의 위치를 찾아야하는 문제가 있다. 그러나 바탕화면을 담당하는 WorkerW 프로세스의 영역을 구하면 다음과 같다. 각 모니터 모두 FHD 해상도에 세로로 이어 붙인 상황이기 때문에 크기는 1920×2160이 맞다. 그러나 이를 Windows 좌표로 분석하면 다른 값이 노출된다. 위 두 장의 사진은 생성한 윈도우위 좌표를 윈도우 안에 출력해주는 코드이다. 메인으로 사용하고 있는 1번[# 티스토리가 출력되는 화면, 하얀 바탕] 모니터의 좌-상 위치는 (0, 0)이..
Microsoft가 주력으로 밀고 있는 C#을 비롯한 .Net 기반 언어를 실행하는 프레임워크 .Net Framework .Net Framework는 MS사에서 개발한 Windows용 프로그램 개발 및 실행 환경으로[# https://ko.wikipedia.org/wiki/%EB%8B%B7%EB%84%B7_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC] 네트워크 작업, 인터페이스 등의 작업이 포함되어있으며, 공통 언어 런타임(Common Language Runtime, CLR)이란 가상 머신[# 자바 프로그램을 실행하기 위핸 JVM 또한 가상머신의 일종이다.] 위에서 동작한다. .Net Framework는 가상 머신 역할로서 이것만 설치하면 어떤 플랫폼이더라도 .Net..
이어서, 윈도우를 노출시키고 메시지를 받는 코드를 작성하겠습니다. 코드 확인 여기까지 완료하면 코드는 아래와 같습니다. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR, int nCmdShow) { WNDCLASS wc{}; wc.lpfnWndProc = nullptr; wc.lpszClassName = L"Hello world"; wc.hInstance = hInstance; RegisterClass(&wc); HWND hWnd = CreateWindow(L"Hello world", L"My First Win32 Program", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW..
이제부터 코드를 사용합니다. 메인 함수 생성하기 Win32 프로그램은 Windows.h 헤더가 필요합니다. 그러니까 이전에 만들었던 main.cpp 첫 줄에 헤더를 추가합니다. 그리고 나서 메인 함수를 생성합니다. 자세히 보면, WinMain 함수의 세 번째 인짜 LPSTR은 변수 값이 존재하지 않습니다. 우리는 명령줄 인수를 받지 않을 것이므로 변수 이름은 작성하지 않았습니다.[# 그럼 지우면 안되냐구요? 안됩니다. 그럼 운영체제에서 프로그램을 실행시키는 WinMain을 못찾아요] 여기까지 하면 일단 실행은 하는 프로그램이 만들어졌습니다. 그런데 우리는 이걸 원하지 않습니다. 창이 뙇! 하고 나오는 그런 프로그램을 원합니다. 아쉽게도 아직 그 자리까지 가기에는 멀었습니다.[# C++을 기반으로 아무 서..
프로그램을 생성하려면 일단 프로젝트가 있어야하니, 이번까지는 코드를 작성하는 일이 없습니다. 프로젝트 생성하기 새 프로젝트 만들기에서 데스크톱 마법사를 선택하고 다음을 누릅니다. 간단히 프로젝트 이름을 생성하고 만들기를 클릭합니다.. 여기에서는 WinUI로 했습니다. 애플리케이션 종류에서 데스크톱 애플리케이셔(.exe)를 선택하고, 추가 옵션에서는 빈 프로젝트를 선택합니다.[# 자질구레한거 싫어하니까] 프로젝트에 메인이 될 파일 하나를 생성합니다. cpp 파일로 만들어주세요. c로 만들어도 되지만, 언젠가 cpp 기술을 사용할 것 같아서요. cpp를 추천드립니다.
Win32 프로그래밍을 진행합니다. ⁕ 참고 본 문서는 Win32를 마스터하지 않은 상태로 '나'에게 맞추어 작성되었으므로 용어나 설명에 있어 난해한 부분이 일부 존재할 수 있습니다. 수정이 필요한 부분, 혹은 함께 글을 읽으면서 이해하기 어렵거나 부연 설명이 필요한 부분이 있다면 댓글로 달아주시기 바랍니다. 엔트리 포인트 우리가 C/C++ 콘솔 프로그램[# 이하 콘솔 프로그램]을 작성할 때 가장 먼저 작성하는 함수는 main이었습니다. 콘솔 프로그램은 여러 복잡한 UI 요소가 존재하지 않고, 텍스트로 이용자와 소통합니다. 그리고 대개 동시 처리를 하지 않고 순차적으로 일을 처리하는 절차 지향을 따르고 있습니다. 따라서 main 하나만 있으면 어떤 프로그램이던 일단 실행은 합니다. Win32, 지금은 W..
집중 지원이 켜져있는지 확인해 볼 것. 집중 지원이 켜져있으면 무슨 이유인지는 몰라도 Android(갤럭시) Windows 연결이 지원되지 않는다.
mijien0179/SnakeWin Snake game with Windows API. Contribute to mijien0179/SnakeWin development by creating an account on GitHub. github.com 초기 커밋. 그리는 과정이 보이므로 개선 필. ++ 방학중에 프로그램 작성 포스트를 해볼 예정...
프로그램을 잘 작성하다보면, 위와 같은 문제가 발생합니다. 위 오류의 경우, 프로그램의 진입점(일반적으로 main 함수)을 링커가 찾지 못했기 때문입니다. 자세한 내용은 [코드] 부분의 LNK2019 를 눌러보면 MS docs로 이동합니다. 기계 번역이기 때문에 정확한 번역은 아니지만, 보면 LNK1120 오류는 LNK2019와 함게 나온다고 합니다. 일반적인 경우에는 프로그램 진입점인 int main() 함수의 이름을 제대로 작성했는지를 확인하고 제대로 작성되지 않았다면 다시 제대로 작성하면 대부분 문제가 해결됩니다. 그런데 아래와 같은 경우에도 문제가 일어나는 경우가 있습니다. 즉, Windows Desktop(구 Windows32) 프로그래밍을 하려고하면 코드를 제대로 작성했음에도 불구하고 위와 같..
https://blog.naver.com/tipsware/221424298273 대표님께서 내주신 과제(?)로 한번 만들어보게 되었다. 정확히 맞는지는 모르겠지만 프로그램은 정상적으로 작동한다. 프로그램 만들어놓은걸 삭제해버리기도 했고, 프로젝트 크기가 MFC 특성상 크기때문에 TISTORY에 올릴 수도 없다. 따라서 이번엔 OneDrive로.. 언제 삭제될지는 모르겠다. https://1drv.ms/f/s!AjtV4g1Eht2Phg-oPi46xJJm-IuH 파일 Download