CxImage 를 이용해 리소스에서 이미지 불러오기 CxImage 를 이용해 리소스에서 이미지(PNG) 불러오기 HINSTANCE hinstance = AfxGetInstanceHandle(); HRSRC hResInfo = FindResource(hinstance, MAKEINTRESOURCE(IDR_PNG1), _T("PNG")); CxImage img; img.LoadResource(hResInfo, CXIMAGE_FORMAT_PNG, hinstance); 카테고리 없음 2008.02.15
잘 알려진 폴더구하기(XP, Vista) 잘 알려진 폴더구하기 (XP까지만 적용) SHGetFolderPath TCHAR szPath[MAX_PATH] = {0, }; // system32 폴더 ::SHGetFolderPath(NULL, CSIDL_SYSTEM, NULL, 0, szPath); // Programe Files 폴더 ::SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, 0, szPath); // 임시폴더 구하기 ::SHGetFolderPath(NULL, CSIDL_APPDATA , NULL, 0, szPath); Vista 를 고려하면... 다음은 비스타에서 Low 권한에서 쓰기 가능한 폴더를 찾는 함수입니다. SHGetKnownFolderPath 근데, XP 를 포함한 이하 버전에는 이 함수.. Windows Programming 2008.02.15
mt.exe 사용법 Vista SDK 를 설치하면 바이너리 모듈(exe, ocx, dll 등등)에 manifest 를 바로 삽입할 수 있는 mt.exe 유틸리티가 들어있다. mt.exe 사용법 mt.exe -manifest ExeName.exe.manifest -outputresource:”ExeName.exe”;#1 ExeName.exe.manifest 예제: (관리자권한 획득을 목적으로 한다.) Windows Programming 2008.02.15
IE 주소창에서 쿠키 설정하기, 쿠키얻기 IE주소창에 자바스크립트 코드로 쿠키값을 설정하거나 볼 수 있다. 쿠키설정 스크립트 javascript:setCookies('http://tworld.co.kr','asp=alksjdflkajsdfla'); 쿠키얻는 스크립트 javascript:alert(document.cookie) Web 2008.02.15
CoCreateInstanceAsAdmin HRESULT CoCreateInstanceAsAdmin(HWND hwnd, REFCLSID rclsid, REFIID riid, __out void ** ppv) { BIND_OPTS3 bo; WCHAR wszCLSID[50]; WCHAR wszMonikerName[300]; StringFromGUID2(rclsid, wszCLSID, sizeof(wszCLSID)/sizeof(wszCLSID[0])); HRESULT hr = StringCchPrintf(wszMonikerName, sizeof(wszMonikerName)/sizeof(wszMonikerName[0]), L"Elevation:Administrator!new:%s", wszCLSID); if (FAILED(hr)) return hr; m.. Windows Programming 2008.02.15
함수 호출 방식(cdecl, stdcall, pascal) 함수 호출 방식(cdecl, stdcall, pascal) 1.인수를 스택에 집어넣는 방향에 따라서 다음과 같이 나뉘고 pascal : 인수를 스택에 저장하는 순서를 왼쪽에서 오른쪽으로 한다. cdecl : 인수를 스택에 저장하는 순서를 오른쪽에서 왼쪽으로 한다. stdcall : 인수를 스택에 저장하는 순서를 오른쪽에서 왼쪽으로 한다. 2.스택에 인수를 pop 하는 주체에 따라서 다음과 같이 나뉘고. pascal : 호출을 당하는 쪽이 스택공간을 삭제한다. stdcall : 호출을 당하는 쪽이 스택공간을 삭제한다. cdecl : 호출을 하는 쪽이 스택공간을 삭제한다. 이렇게 stdcall은 pascal방식과 cdecl방식을 혼합한 형태를 띄운다 Windows Programming 2008.02.15
창의 임의의 위치 클릭&드래그해서 창 이동시키기 // 창의 꼭대기서부터 밑으로 27픽셀까지 클릭&드래그 하면 윈도우가 이동함. LRESULT CMyDlg::OnNcHitTest(CPoint point) { // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다. CPoint pt = point; ScreenToClient(&pt); CRect rect; GetWindowRect(rect); RECT rcTitleBar = { 0, 0, rect.Width(), 27 }; if( ::PtInRect(&rcTitleBar, pt) == TRUE ) { CDialog::OnNcHitTest(point); return HTCAPTION; } else return CDialog::OnNcHitTest(point); } Windows Programming 2008.02.15