프로그래밍 (84) 썸네일형 리스트형 윈도우(OS) 버전 읽어오기 void GetOSVersion (LPSTR lpstInfo, LPSTR lpstBuildNumber, LPSTR lpstServicePack) { int stat = 0; TCHAR data [64]; DWORD dataSize; DWORD win95Info; OSVERSIONINFO versionInfo; HKEY hKey; LONG result; lpstServicePack[0] = 0; versionInfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); // 버전 정보를 얻어낸다. if (!::GetVersionEx (&versionInfo)) { strcpy(lpstInfo, "운영체제 정보를 얻을 수 없습니다."); return; } // NT이면 서버인지 .. 64비트 윈도우를 프로그래밍 하기 위해서 알아야 할 모든 것들 http://www.microsoft.com/korea/msdn/msdnmag/issues/06/05/x64/default.aspx Matt Pietrek (영문) 목차 x64 운영체제 x64의 간략한 내부 구조 Visual C++로 x64용 어플리케이션 개발 Win64 호환되는 코드 만들기 디버깅 매니지드 코드는 어떻게 하나요? 최종 정리 새로운 64비트 윈도우에서 일했던 경험의 좋았던 점 중의 하나는, 새로운 기술이 어떻게 동작하는지 눈으로 확인할 수 있다는 것이었습니다. 저 자신은 특히 어떤 운영체제 밑바닥에 대해서 조금이라도 알기 전까지는, 그 운영체제에 대해서 그렇게 편안함을 느끼지 못하는 편입니다. 그래서, 64비트 Windows XP와 Windows Server™ 2003이 나타났을 때, 저.. 윈도우 프로그램이 종료될때 나타나는 메시지 순서 (OnClose-> OnDestroy -> DestroyWindow) 윈도우 프로그램 이 종료될 때 다음의 순서대로 메시지가 나타납니다. 1. WM_CLOSE ( OnClose ) 2. DestroyWindow ( DestroyWindow ) 3. WM_DESTROY ( OnDestroy ) 소스로 보시면 ... void CMainDlg::OnClose() { CDialog::OnClose(); TRACE("First : OnClose!\n"); return; // error LNK2005: _exit already defined in msvcrt.lib(MSVCRT.dll) msvcrt.lib(MSVCRT.dll) : error LNK2005: _atoi already defined in libcmt.lib(atox.obj) msvcrt.lib(MSVCRT.dll) : error LNK2005: _strchr already defined in libcmt.lib(strchr.obj) msvcrt.lib(MSVCRT.dll) : error LNK2005: _strstr already defined in libcmt.lib(strstr.obj) msvcrt.lib(MSVCRT.dll) : error LNK2005: __stricmp already defined in libcmt.lib(stricmp.obj) msvcrt.lib(MSVCRT.dll) : error LNK2005:.. 버튼 이쁘게 꾸미기 - CButtonST v3.9 (MFC Flat buttons) http://www.codeproject.com/KB/buttons/cbuttonst.aspx 큰용량의 파일을 순식간에 생성하기 간단한 명령어 한줄로 가능하다. system("fsutil file createnew d:\\temp\\test.dat 5000000000"); 5G정도의 용량의 파일이 순식간에 생긴걸 확인할 수 있다. 컨트롤러 색깔 입히기 HBRUSH brush; //전역변수. HBRUSH CG_Bit_AnalyzerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { DeleteObject(brush); //반드시 사용해야한다. 메모리 증가요인. switch(nCtlColor) { case CTLCOLOR_BTN: case CTLCOLOR_STATIC: { // pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(155,155,155)); brush=(HBRUSH)::GetStockObject(NULL_BRUSH); break; } case CTLCOLOR_EDIT: { pDC->SetBkMode(TRANSPARENT); brush=(HBRUSH)::G.. Dialog의 버튼 클릭 기능 SendMessage 보내기 - 프로그램으로 클릭하기 Dialog Box의 버튼은 실행하면서 마우스로 클릭 한다. 그러나 다른 다이얼로그나 쓰래드에서 이 버튼을 클릭한 기능을 하려면 SendMessage() 함수를 이용할 수 있다. m_pDlg->SendMessage(WM_COMMAND, IDC_RUN, 0); 이와 같은 메시지는 m_pDlg : 목적하는 다이어로그 박스을 지정 한다. WM_COMMAND : BN_CLICKED 메시지를 보내는 위한 메시지 종류이다. IDC_RUN : 버튼의 ID이다. 다이얼로그 박스 편집기에서 ID을 만들고 볼 수 있다. *** TestDlg.h ***************************************** class CTestDlg : public CDialog { public: CTestDlg (CWnd* .. 이전 1 ··· 6 7 8 9 10 11 다음