windows41 macOS UTM에서 고전 Windows 구동하기 UTM은 QEMU기반 macOS용 에뮬레이터이다.에뮬레이팅 뿐만 아니라 가상화도 지원하기는한다.x86에뮬레이팅도 잘되기때문에 고전 Windows를 구동할 수 있지 않을까? 생각했지만 세팅의 문제인지 부팅에 실패하곤 했다.https://github.com/anonymousaga/UTM/releases Releases · anonymousaga/UTMMy UTM virtual machines. Contribute to anonymousaga/UTM development by creating an account on GitHub.github.com찾아보니 누군가 성공하여 UTM VM 이미지를 올려두었다.과연 구동될까?Windows 2000 이미지는 정상적으로 로드된다. Windows 98이미지도 잘된다.이상한.. 2025. 2. 20. macOS(m1/m2/m3) 에서 윈도우 98 설치하기 (macbox) 사람이 늙으면 예전이 그리워지기 마련인가보다. 그렇게 질리도록 썻던 윈도우 98 시절이 그리우니 말이다. 요새 PC에는 설치도 안되고 이제 팬티엄3 같은 고물은 분리수거장에서도 구하기 힘들다. 방법은 가상머신이나 에뮬레이터방법이 있다. 또 하나의 장벽은 나는 mac에서 윈도우 98을 돌리고 싶단말이다.mac에 윈도우를 vm으로 설치하는 방법은 이제 어느정도 안정적이며 꽤쓸만하다. (Windows 11기준)하지만 진짜 고전 OS는 UTM으로도 설치가 되지 않더라..그러던 중 흥미로운 영상을 발견하였으니.. mac에서 윈도우 98설치하기!https://www.youtube.com/watch?v=14gsEN5gzng 요지는 macbox라는걸 쓰면 가능하덴다. 1. macbox 설치하기macbox를 githu.. 2025. 2. 20. [Windows] DeviceIoControl을 이용하여 하드디스크 시리얼 구하기 윈도우 클라이언트를 개발하다 보면 특정 PC의 고유 값을 얻어야 할 때가 있다. 보통 하드디스크 시리얼, Mac 주소 등의 조합으로 하드웨어를 특정 짓는다.이번에 알아본 방법은 DeviceIoControl를 이용하여 하드디스크 시리얼을 구하는 방법이다. BOOL GetDiskSerialNumber(CString &szSerialNumber){ TCHAR szWindowDir[MAX_PATH] = { 0, }; if (ExpandEnvironmentStrings(_T("%windir%"), szWindowDir, MAX_PATH) == 0) return FALSE; szSerialNumber.Empty(); // Format physical drive path (may be '\\.\PhysicalDr.. 2025. 2. 12. [C++/WinRT] 윈도우C++프로젝트에서 json파싱하기 C++로 작성된 MFC, Win32프로젝트에서 json을 다룰 때 고민이 많다. 나 같은 경우 보통은 jsoncpp를 활용해서 json을 파싱한다. 하지만 precompiler를 설정하지 못해 빌드속도가 늦어지거나 jsoncpp를 사용하는 다른 라이브러리들과 심볼 충돌 등의 문제가 있을 수 있는 문제가 있다.요새 윈도우 프로젝트를 하면서 cpp winrt를 유심히 보고 있다 async와 같은 스레드 처리를 쉽게 할 수 있기도 하고 모던한 Windows앱을 만드는데 도움이 되기 때문이다. 이제 win32만으로는.. 꽤 편리하게 사용될 수 있는 winrt클래스 중 하나인 JsonObject를 이용해 서드파티 라이브러리 없이 cpp winrt로 json을 파싱할 수 있다.https://learn.microso.. 2024. 11. 23. [WTL] Visual studio 2022에서 WTL Wizard 설치하기 Windows7은 이제 지원종료되어 Windows 10 이하 버전은 지원하지 않아도 되는 시대가 되었다. 그에 따라 Visual Studio 2019를 굳이 써야할 이유도 없다. Visual Studio 2022로 가자.그런데 하나 걸리는게 WTL이다. WTL은 프로젝트 템플릿없이 nuget package로 쓸 수 있지만 기왕이면 프로젝트 템플릿이 자동으로 생성되면 시작하기 편해 좋을 것이다.기존처럼 Visual studio 2022가 설치 된 상황에서 WTL 템플릿 마법사(WTL10_10320_Release 기준)를 설치하면 정상적으로 동작하지 않는다.좀 찾아보니 아직 release에 merge는 안되었지만 vs2022대응 스크립트가 커밋되어 있었다.https://sourceforge.net/p/wtl.. 2024. 8. 26. [WinUI3/c++] 창 사이즈 변경하기 기존 Win32 애플리케이션 개발환경에서 WinUI3로 넘어갈 수 있을까 몇가지 기술들을 공부해보고 있다. 이번에는 가장 기본적인 창사이즈 조절이 가능하냐를 검증해본다. 기존 Win32개발 환경에서는 MoveWindow와 같은 함수로 창 사이즈 변경이 가능했다.Winui3에서 창 사이즈 변경은 어떻게 할 수 있을까?일단 기본 winui3 템플릿을 그대로 실행하면 창사이즈가 크게 실행된다.MSDN에서 찾아본 바로는 AppWindow객체의 Resize함수를 통해 크기 조절이 가능하다고한다.https://learn.microsoft.com/ko-kr/windows/windows-app-sdk/api/winrt/microsoft.ui.windowing.appwindow.resize?view=windows-app.. 2024. 8. 17. [WinUI3] WinUI3 써먹을 수 있을까? 여러 보안솔루션을 개발하다보면 하위호환성을 위해 최신 기술을 포기해야한다. 고객사는 구버전 OS를 지원하기를 원하며, 그것은 우리 솔루션의 장점이 될 수 있기 때문이다. 그렇게 언제나 익숙한 닳고 닳은 MFC기반 프로젝트들을 고수해왔다. 그렇게 WPF, Winform등 써먹기 좋은 기술들은 아에 처다도 안본 채.아무리 그래도 2024년 신규 프로젝트에 MFC를 들고 가는건 또 다른 레거시 지옥을 낳는게 아닐까 싶다. (MFC는 1992년에 공개되어 아직까지 문제없이 잘 써먹고 있다.)Microsoft는 UWP, Winui2 등 삽질 끝에 Winui3이라는 최신 UI Framework를 내놓았다. 과거 UWP와 다르게 Desktop앱에도 적용 가능하고, MFC, Win32로 짜여진 프로그램에도 이식할 수 .. 2024. 5. 26. WSL에서 USB장치 연결하기(usbipd-win) Windows에 WSL기능이 추가되면서 Linux를 윈도우에서 사용할 수 있게 되었다. 그런데 WSL이 완전한 Linux는 아니기 때문에 여러가지 제약사항이 존재하는데 바로 USB 장치를 연결하는 것이다. 하지만 이것도 찾아보니 가능한 작업이었다. 이번 포스트에서는 WSL에 USB장치를 연결하는 법을 알아보자. WSL에서 USB장치를 연결하는 것은 오픈소스 프로젝트인 usbipd-win이라는 프로젝트로 가능하다. 0. 환경 WSL에서 USB장치를 연결하기 위해서는 다음과 같은 요구사항이 있따. Windows 11 이상(혹은 WSL2가 활성화된 Windows10) x64/x86 CPU(ARM은 지원하지 않아요) WSL2에 설치된 Linux.(커널 5.10.60.1 이상) 참고로 Linux 커널 버전은 un.. 2022. 12. 18. [Win32] 윈도우의 닫기 버튼을 눌렀을 때 일어 나는 일 (WM_CLOSE) 이번 포스트에서는 Win32 GUI프로그래밍을 공부하면서 거의 처음으로 배우는 내용인 윈도우가 닫힐 때 일어나는 일에 대해서 알아보겠다. 쌩으로 Win32부터 MFC, WTL까지 하다보니 좀 오래전에 공부해서 인지 가물가물하여 다시한번 리마인드 차원에서 정리해본다. Windows에서 창의 닫기 버튼을 눌렀을때 어떤일이 발생할까? 사용자가 닫기창이 눌렸을 때, 개발자는 많은 것을 고려해야 할 수 있다. 단순히 창을 hide할 것인지, 정말로 프로그램을 종료할 것 인지? 종료한다면 메모리정리, 리소스 정리, 사용자가 작업한 내용, 프로그램의 상태등을 안전하게 정리할 것인지 고려 해야 할 수 있을 것 이다. 닫기동작은 나름 그래서 중요하다고 생각한다. 그럼 닫기 버튼을 눌렀을 때 어떤 일이 발생할까? http.. 2022. 7. 31. 이전 1 2 3 4 5 다음