win32api 4

[ C언어 IoT 프로젝트 ] #5 Win32 API 대시보드 구현 및 최종 기능 점검 (29일차 기록)

1. 오늘 한 것① 보호자 대시보드 UI 구조 완성┌────────────────────────────────────────────┐│ 시계 (타이틀바, 어두운 배경) │├────────┬────────┬────────┬─────────────────┤│ ↻버튼 │ │ │ │├────────┴────────┴────────┴─────────────────┤│ 온도카드 │ 습도카드 │ 움직임카드 │ 낙상카드 │├────────────────────────────────────────────┤│ 채팅 로그창 │├───────────────────────────────────..

[ C언어 IoT 프로젝트 ] #4 인코딩 에러수정, WinAPI 비동기 UI 개발 (28일차 기록)

1. 오늘 한 것① 한글 인코딩(UTF-8 ↔ CP949 ↔ UTF-16) 구조 통일Linux 서버(UTF-8)에서 보낸 한글 데이터가 Windows 클라이언트(CP949)의 로그창에서 깨지는 현상을 해결하기 위해 전 구간 인코딩 파이프라인 구축.Windows API의 W 계열 함수(SetWindowTextW 등)가 요구하는 UTF-16(wchar_t) 형식에 맞춰, MultiByteToWideChar / WideCharToMultiByte 함수를 활용한 형변환 유틸리티 구현.std::wstring Utf8ToWide(const std::string& s) { if (s.empty()) return L""; int n = MultiByteToWideChar(CP_UTF8, 0, ..

[ C언어 IoT 프로젝트 ] #3 MySQL 연동 및 멀티스레드 TCP 소켓 구축(27일차 기록)

1. 오늘 한 것① 시스템 데이터베이스(MariaDB/MySQL) 설계 및 구축데이터의 성격과 보존 주기에 따라 3개의 핵심 테이블 구조를 설계함.sensor_logs: 아두이노 센서 수치 실시간 기록 (주기적 삭제 필요)CREATE TABLE sensor_logs ( id INT AUTO_INCREMENT PRIMARY KEY, sensor_type VARCHAR(20) NOT NULL, -- TEMP, HUMI, PIR, ULTRA, FALL, SOS, FAN value FLOAT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP); chat_logs: 보호자 ↔ 거주자 간 양방향 통신 ..

[ C++ 윈도우 소켓 프로그래밍 ] 콜백 함수와 WPARAM / LPARAM 차이 정리 (24일차 기록)

1. 오늘 한 것① GUI 소켓 응용 프로그램 (Windows 환경)콘솔 기반이 아닌 창(Window) 띄우기 기반의 소켓 프로그램 동작 원리 학습.윈도우 프로그램은 철저하게 '이벤트 기반(Event-Driven)'으로 돌아간다는 시스템적 차이 이해.② 콜(Call) 함수 vs 콜백(Callback) 함수의 차이일반 호출 (Function Call): 개발자인 '나'에게 주도권이 있음. 내가 코드를 짜서 원할 때 언제든 능동적으로 호출함.콜백 (Function Callback): 주도권이 '운영체제(시스템)'에 있음. 나는 함수만 만들어 두고, 마우스 클릭이나 네트워크 수신 같은 특정 이벤트가 발생했을 때 시스템에 의해 역으로 호출(수동적 호출)당하는 방식.③ 윈도우 메시지 파라미터: WPARAM vs ..