본문 바로가기
728x90
반응형

전체 글395

쓰레드 동기화와 WAIT_ABANDONED Colored By Color Scripter™12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include#include#include#include LONG gTotalCount = 0;HANDLE hMutex; unsigned int WINAPI IncreaseCountOne(LPVOID lpParam){ WaitForSingleObject(hMutex, INFINITE); gTotalCount++; puts("1st thread"); //ReleaseMutex(hMutex); return 0;} unsigned int WINAPI Increas.. 2014. 6. 2.
GetExitCodeProcess Colored By Color Scripter™1234#includeint main(){ return 100;}a.cpp Colored By Color Scripter™1234567891011121314151617181920212223#include#includeint main(){ STARTUPINFO si = { 0, }; PROCESS_INFORMATION pi; DWORD ret = 0, test; TCHAR path[] = L"a.exe"; si.cb = sizeof(si); puts("#"); CreateProcess(NULL, path, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); CloseHandle(pi.hThread); //WaitForSingleOb.. 2014. 5. 25.
(싱글 더블 와이드) 함수 정리 Generic-textSBCS (_UNICODE &_MBCS_UNICODE defined routine name MBCS not defined)defined _cgetts_cgets_cgets_cgetws_cgetts_s_cgets_s_cgets_s_cgetws_s_cputts_cputs_cputs_cputws_fgettcfgetcfgetcfgetwc_fgettchar_fgetchar_fgetchar_fgetwchar_fgettsfgetsfgetsfgetws_fputtcfputcfputcfputwc_fputtchar_fputchar_fputchar_fputwchar_fputtsfputsfputsfputws_ftprintffprintffprintffwprintf_ftprintf_sfprintf_sfprin.. 2014. 5. 25.
IPC MailSlot 메일 슬롯 Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233#include#include#includeint _tmain(){ HANDLE hMailSlot; DWORD sz; hMailSlot = CreateMailslot( _T("\\\\.\\mailslot\\tmp"), 0, MAILSLOT_WAIT_FOREVER, NULL ); if (hMailSlot == INVALID_HANDLE_VALUE){ puts("메일 슬롯 생성 실패"); return -1; } while (1){ TCHAR msg[52] = { 0, }; if (!ReadFile(hMailSlot, msg, 50, &sz, NULL )){ _t.. 2014. 5. 25.
tchar.h Colored By Color Scripter™1234567#include#include#includeint main(){ _tprintf("T E S T "); return 0;} 옛날에 위처럼 코딩하고 왜 _tprintf가 안 되지? 라고 생각했었던 때가 있었다. _tprintf는 Colored By Color Scripter™12345#ifdef _UNICODE #define _tprintf wprintf#else #define _tprintf printf#endif 라고 정의 되어 있는데 왜 안 될까.. 이유는 바로 비쥬얼 스튜디오에서 사용자의 편의를 위해 기본적으로 _UNICODE를 정의해놨기 때문이였다. 따라서 _tprintf는 자동으로 wprintf로 바뀌었고, 그 인자는 유니코드 기반을 받.. 2014. 5. 13.
사용자 정의 에러 함수 _invalid_parameter_handler Colored By Color Scripter™1234567891011121314151617181920212223#include#include#include#include//에러 발생시 호출할 함수void InvalidParameterHandler(PCTSTR expression, PCTSTR function, PCTSTR file, unsigned int line, uintptr_t){ std::wcout 2014. 5. 1.
안전 문자열 함수 _tcscpy_s Colored By Color Scripter™12345678910#include#include#includeint main(){ TCHAR str[6]; wcscpy_s(str, _countof(str), L"123456"); printf("%S\n", str); return 0;} strcpy나 strcat 같은 문자열 함수에서 일어날 수 있는 BOF를 보완하기 위해 새로 만들어진 문자열 함수. 기존의 함수에 문자열 길이가 인자로 추가되어 들어간다. _countof() 메크로는 windows.h에 정의되어 있다. Colored By Color Scripter™1#define _countof(_Array) (sizeof(*__countof_helper(_Array)) + 0) 인자로 넣은 문자열의 길이.. 2014. 4. 30.
윈도우즈 에러 핸들링 GetLasterror / FormatMessage Colored By Color Scripter™1234567891011121314151617181920212223242526272829303132333435#include#includeint main(){ DWORD dwError = GetLastError(); HLOCAL hlocal = NULL; //언어 설정 DWORD systemLocale = MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN); FormatMessage( //운영체제에 정의된 에러 코드를 가져온다. FORMAT_MESSAGE_FROM_SYSTEM | //%를 자리 표시자로 사용 안 함(%s, %c 등을 무시). FORMAT_MESSAGE_IGNORE_INSERTS | //메모리 공간을 할당 FORMAT_MES.. 2014. 4. 30.
로딩중 gif 생성해주는 사이트 http://www.ajaxload.info/ 2014. 4. 13.
윈도우 가시모드/비가시모드 ShowWindow(hInsert1[i-1][j],SW_SHOW);ShowWindow(hInsert1[i][j],SW_HIDE); 2014. 3. 28.
네모 그리기, 선 긋기, 글 쓰기 HDC hdc;HBRUSH hBrush; //네모 그리기hBrush=CreateSolidBrush(RGB(255,200,200));(HBRUSH)SelectObject(hdc,hBrush);Rectangle(hdc,17,50,107,771);DeleteObject(hBrush); 반드시 오브젝트 제거해줘야 한다 함.동적 할당 할 뒤에 해제하는 거랑 똑같은거래. 잘은 모르겠다. //선 긋기MoveToEx(hdc,17,50+120*i,NULL);LineTo(hdc,645,50+120*i); 위 함수로 스타트 점을 설정해주고, 그것을 시작점으로 아래 함수에서 지정한 위치까지 줄을 긋는다. 줄을 긋고 나면 아래 함수에서 지정한 위치가 다시 스타트 점으로 설정됨. //글 쓰기TextOut(hdc,680,30,L".. 2014. 3. 28.
winAPI 윈도우에 값 쓰거나 읽기 1. 함수를 이용하기 GetWindowText(hWnd,tmp1,4);SetWindowText( HWND hWnd,l LPCTSTR lpString) 2. 메시지 보내기SendMessage(hWnd,WM_GETTEXT,len+1,(LPARAM)Caption);SendMessage(swapA,WM_SETTEXT,0,(LPARAM)tmp2); 2014. 3. 28.
728x90
반응형