본문 바로가기

MFC

[MFC] 작업표시줄 숨기기/보이기 작업표시줄 숨기기 APPBARDATA stAppBarData; ZeroMemory( &stAppBarData, sizeof(stAppBarData) ); stAppBarData.cbSize = sizeof(stAppBarData); stAppBarData.hWnd = (HWND)FindWindow(_T("Shell_TrayWnd"), NULL); stAppBarData.lParam |= ABS_AUTOHIDE; SHAppBarMessage(ABM_SETSTATE, &stAppBarData); 작업표시줄 보이기 주의! 숨기기 코드를 실행하면, MFC프로그램을 종료해도, 작업표시줄이 계속 숨겨진 상태이다. 프로그램 종료전에 보이기 코드를 이용하여, 작업표시줄 상태를 복귀시킨다! APPBARDATA stApp.. 더보기
[MFC] abs() 함수 abs() 의 반환값은 int 형 이다. double 형의 절대값을 얻고자 하는 경우 -> fabs() long 형의 절대값 -> labs() 더보기
Win32 API 주요 함수 출처:http://bloodguy.tistory.com/44 AdjustWindowRect : BOOL AdjustWindowRect(LPRECT lpRect, DWORD dwStyle, BOOL bMenu); 작업 영역의 크기는 윈도우 크기에서 타이틀 바와 경계선, 메뉴, 스크롤 바 등의 영역을 제외한 영역이다. 일반적으로 MoveWindow, SetWindorPos 등의 함수로 윈도우 크기는 원하는대로 바꿀 수 있지만 작업 영역의 크기를 원하는대로 설정하는 방법은 없다. 작업 영역을 특정한 크기대로 설정하려면 이 함수로 원하는 윈도우 크기를 먼저 계산하고 MoveWindow 등의 함수로 윈도우 크기를 변경해야 한다. 이 함수는 윈도우의 스타일(타이틀 바의 유무, 타이틀 바의 높이, 경계선의 두께)와 .. 더보기
[MFC] 내부IP, 외부IP가져오기 *내부 IP //StdAfx.h에 선언 #include "winsock2.h" #pragma comment(lib, "WS2_32.lib") #define DESIRED_WINSOCK_VERSION 0x0101 #define MINIMUM_WINSOCK_VERSION 0x0001 //선언 끝 //함수구현 CString GetInIpAddress() { WSADATA wsadata; CString strIP; // 이 변수에 IP주소가 저장된다. strIP = ""; if( !WSAStartup( DESIRED_WINSOCK_VERSION, &wsadata ) ) { if( wsadata.wVersion >= MINIMUM_WINSOCK_VERSION ) { HOSTENT *p_host_info; IN_A.. 더보기
[MFC] 파일에 사용한 한글이 깨질때.. CStdioFile #include //추가 _tsetlocale(LC_ALL, _T("kor")); // 파일 열기전에 더보기
MFC 네트워크 드라이버 연결 ShellExecute함수를 이용하여, CMD에 명령어를 입력하는 방식으로, 네트워크 드라이버를 연결하였다. CString strcmd; strcmd.Format(_T("/c net use Q: \\\\%s\\%s"), path, foldername); ShellExecute( NULL, _T("OPEN"), _T("CMD"), strcmd, NULL, SW_HIDE); * '/c'부분 처럼 루트 경로로 이동하여, net use명령어를 입력해야지만 정상동작함. 테스트시 별 문제 없이 연결되었으나, 현장 PC에서는 연결이 되지 않는 문제가 발생하였다. '/c'부분이 문제인듯 하여, 루트경로로 이동할 필요가 없는 bat(배치)파일을 만들어 net use명령어를 실행하는 방식으로 해결하였다. CStdioFil.. 더보기
예약작업실행 보호되어 있는 글입니다. 더보기
MFC Socket 사용 추가 프로젝트 생성 후, CSocket을 사용할 경우. 1. stdafx.h 파일의 맨 마지막에 다음을 추가 #include 2. CWinApp::InitInstance(); 라인 밑에 다음과 같은 코드를 추가 if (!AfxSocketInit()) { AfxMessageBox(_T("윈도우 소켓 초기화에 실패햇습니다.")); return FALSE; } 더보기