본문 바로가기
반응형

mfc12

[MFC] Shared Folder 찾아서 제거하기 #include #include #pragma comment(lib, "Netapi32.lib") PSHARE_INFO_502 BufPtr; NET_API_STATUS res; LPTSTR lpszServer = NULL; DWORD er = 0, tr = 0, resume = 0; DWORD total = 0; do { res = NetShareEnum(lpszServer, 502, (LPBYTE *)&BufPtr, MAX_PREFERRED_LENGTH, &er, &tr, &resume); if (res == ERROR_SUCCESS || res == ERROR_MORE_DATA) { total += er; PSHARE_INFO_502 p = BufPtr; DWORD i = 0; for (i = 1; .. 2017. 1. 16.
[MFC] Radio Button 투명 배경 오늘 Radio Button 의 배경을 투명하게 만들기 위해 WM_CTRLCOLOR 메시지를 이용하여 처리 하려고 했다. 그런데 바뀌지 않았다. ㅡㅡ; 왜 그런지 찾아보니 인터넷에 이런말이 있었다. From comctrl6, if theme enabled you cannot change the text color of the text color of the radio button using the WM_CTRLCOLOR. 그래서 이것을 해결하기 위해 SetWindowTheme(GetDlgItem(IDC_CTRL)->m_hWnd, _T(""), _T("")); 를 사용하면 된다 HRESULT SetWindowTheme( HWND hwnd, LPCWSTR pszSubAppName, LPCWSTR pszSub.. 2016. 11. 1.
[MFC] 시작프로그램에 등록하기 시작 프로그램에 등록하는 방법으로 크게 레지스트리를 사용하는 방법과 ShellLink 를 이용한 방법이다. 여기서 소개하는 방법은 2번째 방법이다. void CreateStartupShortcut(void) { HRESULT hRes = NULL; hRes = CoInitialize(NULL); TCHAR FullPath[MAX_PATH] = {0,}; ::GetModuleFileName(NULL, FullPath, _countof(FullPath)); TCHAR StartUpPath[MAX_PATH]= {0,}; BOOL bRes = SHGetSpecialFolderPath(GetSafeHwnd(), StartUpPath, CSIDL_STARTUP, 0); CString StrShortCut = Sta.. 2016. 10. 27.
[MFC] 심플한 로그 함수 #include "stdafx.h" namespace DEBUGLOG { CString LogPath; } int WriteLog(LPCTSTR pFormat, ...) { TCHAR Buff[1024] = {0,}; va_list arg; va_start(arg, pFormat); _vstprintf_s(Buff, _countof(Buff) - 1, pFormat, arg); va_end(arg); SYSTEMTIME lpSystemTime; GetLocalTime(&lpSystemTime); COleDateTime CurSysTime(lpSystemTime); CString TimedLog; TimedLog.Format(_T("[%s] ", CurSysTime.Format(_T("%Y%m%d %H:%.. 2016. 10. 18.
[MFC] CProgressCtrl Marquee 속성 설정 CProgressCtrl 은 Range 를 지정하고 현재 Progress 위치를 지정할 수 있다.그리고 Marquee 속성을 사용하여 계속 진행 중인 상태를 나타낼 수 있다. 제어판에서 윈도우즈 업데이트를 확인할 때 나오는 Progress Bar Ctrl 에서 설정된 것이 Marquee 이다. 윈도우즈 업데이트 확인이 끝나면 Progress Bar 가 100% 로 되는데,이것을 코드로 구현하려면 ModifyStyle 을 사용하면 된다. 즉 리소스에서 Marquee 속성을 TRUE 로 설정하고동적으로 Marquee 속성을 빼는 방법은 Progress Bar Control 에서 ModifyStyle(PBS_MARQUEE, 0); 명령을 사용한다 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액.. 2016. 10. 14.
[MFC] 재부팅 기능 개발환경은 Windows 7 64bit, Visual Studio 2013 버전이다 HANDLE hCurHandle = GetCurrentProcess(); HANDLE hNewHandle = NULL; OpenProcessToken(hCurHandle, TOKEN_ADJUST_PRIVILEGES, &hNewHandle); TOKEN_PRIVILEGES tp; LUID luid; LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &luid); tp.PrivilegeCount = 1; tp.Privileges[0].Luid = luid; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hNew.. 2016. 10. 13.
Visual Studio 2012 Update 4 이상에서 XP 용 C++ 11 프로그램 구성 참고 : https://msdn.microsoft.com/ko-kr/library/jj851139.aspx Visual Studio 에 포함되어 있는 Windows XP 플랫폼 도구 집합은 Windows 7 에 포함된 Visual Studio 2010 SDK 의 한 버전이지만 최신 C++ Compiler 를 사용한다. Windows XP 플랫폼 도구를 사용하여 데스크톱앱을 만들면 XP, Windows Server 2003 에서 실행된다. Windows XP 를 대상으로 지정하려면 솔루션 탐색기 프로젝트 > 속성 > 구성 속성 > 일반 > 플랫폼 도구 집합 에서 "Windows XP" 가 포함된 것으로 선택하면 된다 v110_xp 플랫폼 도구 집합을 사용하는 앱은 Visual Studio 에서 구현되는 C.. 2016. 10. 12.
[MFC] 프로세스를 이미지 이름으로 검색하여 종료를 기다리기 #include PROCESSENTRY32 entry; entry.dwSize = sizeof(PROCESSENTRY32); HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); DWORD dwCode = 0; if ( TRUE == Process32First(hSnapshot, &entry)) { while (TRUE == Process32Next(hSnapshot, &entry)) { if (0 == _tcscmp(entry.szExeFile, _T("myfile.exe"))) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID); dwCo.. 2016. 10. 7.
제어판 Item 실행 제어판 아이템에는 API call 이나 command-line 에서 프로그램적으로 사용할 수 있는 canonical name 이라는 것이 있다 (https://msdn.microsoft.com/en-us/library/windows/desktop/ee330741(v=vs.85).aspx) * control.exe /name Microsoft.WindowsUpdate 윈도우즈 업데이트 창을 띄우는 명령어 인데 여기서 Microsoft.WindowsUpdate 가 윈도우즈 업데이트 제어판에 대한 canonical name 이다 아이템의 특정 페이지를 열려면 page 옵션을 사용한다"%systemroot%\system32\control.exe /name canonicalName /page pageName" C.. 2016. 9. 27.
_tcscpy_s 사용시 주의사항 https://msdn.microsoft.com/ko-kr/library/td1esda9.aspx 의 내용을 기반으로 작성합니다TCHAR.H 루틴_UNICODE 및 _MBCS 미정의_MBCS 정의됨_UNICODE 정의됨_tcscpy_sstrcpy_s_mbscpy_swcscpy_s 함수 인자는 다음과 같다errno_t wcscpy_s( wchar_t *strDestination, size_t numberOfElements, const wchar_t *strSource ); strDestination대상 문자열 버퍼의 위치입니다.numberOfElements대상 문자열 버퍼의 크기로, 내로(narrow) 함수와 멀티바이트 함수의 경우 char 단위이고 와이드(wide) 함수의 경우wchar_t 단위입니다.s.. 2016. 9. 10.
반응형