본문 바로가기

전체 글

(357)
[Windows/WinAPI] CreateFile() CreateFile(LPCTSTR lpFileName, ------①DWORD dwDesiredAccess, -------②DWORD dwShareMode, ------③LPSECURITY_ATTRIBUTES pSecurityAttributes, -----④DWORD dwCreationDisposition, -------⑤DWORD dwFlagsAndAttributes, --------⑥HANDLE hTemplateFile -------⑦); 함수 설명 : WindowsAPI함수 중에서 파일을 생성하는 가장 기본적인 함수이다. 또한 단지 파일을 생성하는 것뿐만 아니라 기존의 파일을 열수도 있으며 각종 오브젝트를 생성하고 열 수도 있다.- 파이프- 메일슬롯- COM 포트 등의 통신 장치- 디스크장치- 콘솔..
[Windows/WinAPI] LoadLibrary, GetProcAddress 사용 (실습5) DLL을 만들고 사용하는 실습이다. DLL을 만드는 방법 1. windows 콘솔로 프로젝트를 만들고 항목에서 dll을 체크하여 프로젝트 만들기.2. 원하는 함수 집어 넣기. 위와 같은 형태로 지정하여 컴파일하면 dll이 만들어 진다.__declspec(dllexport) void __cdecl Function1(void)와 같은 형태로 사용을 해야 하며 함수마나 하나씩 다 지정을 해주어야 한다.그리고 dll은 디버깅이 불가능 하기 때문에 DbgView로 확인 하기 위해서 OutputDebugString(); 함수를 이용하였다. 현재 총 5개의 함수를 만들었다. 제작한 tttt.dll을 dependency로 확인해 보았다. 위에보면 TTTT.dll에 5개의 함수들이 보인다. 이제 .exe를 만들어서 실행..
[Windows/WinAPI] main ,_tmain간의 차이 ▶ main : 우리가 처음 C언어를 배우면서 가정 먼저 접하게 된다. 머 별 다른것은 없고 문자 인수를 아스키코드 집합으로 사용한다. ▶_tmain: Winapi수업을 들으면서 처음사용하게 되었다. 그냥 문자인수를 유니코드 집합으로 사용한다는것만으로 알고 있었는데 따라 들어가보니 #define로 정의되어 있었다......#define _tmain wmain와 형태로 정의가 되어있었는데 재미있는것은 tchar.h 해더파일 안에 정의가 되어 있다는 것이다... 무튼 결국은 wmain 의 형태로 사용하는 것이기 때문에 유니코드 집합으로 사용한다고 이해하면 될 것이다.
[Windows/WinAPI] 레지스트리 Key 생성하기(실습4) #include #include #include #include int _tmain(INT argv , LPTSTR argc[]){LONG result = 0;LONG result2 = 0;TCHAR data1[20];TCHAR data2[50];DWORD data3 ; HKEY obtainKey = NULL; _tsetlocale(LC_ALL, _T("Korean"));_tprintf(_T("2010105094 정민우\n"));if(argv != 4){_tprintf(_T("error\n"));return 1;}_tcscpy(data1 ,argc[2]);_tcscpy(data2 ,argc[1]);data3 = (DWORD)_ttoi(argc[3]);if(_tcscmp(data2, _T("HKEY_CUR..
[C언어] 문자, 문자열 입력 C언어에서 문자, 문자열을 입력받을때에는 scanf() ,gets()를 주로 사용한다. 이 함수들 사용에 대해 정리하자. ▶ scanf()- scanf 함수는 처음 데이터를 입력 받을때 많이 사용한다. 하지만 이놈은 사용법이 매우 까다롭다. 어떤점에서 까다롭다고 하냐면 이놈은 입력받을때 형식을 100% 일치시켜 주어야한다. scanf("%d---%s---%c",num, str, ch);위와 같은 형식이 되어있다면 입력할때 단순히 입력 받을 3가지 변수만 적으면 되는것이 아니라 위와같이 3---asdf---T 와 같은 형태로 완벽히 맞춰 주어야한다. 그러지않는다면 제데로된 결과값을 기대할 수 없다. 이처럼 띄어쓰기 하나까지도 완전히 맞춰주어야 한다.
[Android] Layout Parameter 각 레이아웃별로 제공되는 레이아웃 파라미터Layout Parameter ViewGroup.LayoutParams layout_width, layout _height ViewGroup.MarginLayoutParams layout_marginLeft, layout_marginRight LinearLayout.LayoutParms layout_gravity, layout_weight AbsoluteLayout.LayoutParams layout_x, layout_y RelativeLayout.LayoutParams layout_above, layout_alignParentRight 이러한 레이아웃 파라미터를 실행중에 속성을 변경 시켜 줄 수가 있다. 하지만 레이아웃 속성을 변경시키면 배치상태도 변해야 하기 ..
[Windows/WinAPI] Polymorphic 자료형 Polymorphic 자료형은 MS에서 64bit 기반으로 넘어가면서 새롭게 정의한 자료형이다. 형태는 아래와 같다. #if defined(_WIN64)typedef _int64 LONG_PTR;typedef unsigned _int64 ULONG_PTR; typedef _int64 INT_PTR;typedef unsigned _int64 UNIT_PTR; #elsetypedef long LONG_PTR;typedef unsigned long ULONG_PTR; typedef int INT_PTR;typedef unsigned int UNIT_PTR; #endif 이러한 형태로 되어있기 때문에 OS가 64bit이든 32bit이든 상관없이 잘 돌아간다. 다시 말하면 자료형이 맞춰서 변한다고 보면 된다.
[Android] R Class public final class R {public static final class attr { } public static final class drawable{public static final int icon = 0x7f020000;} public static class id {public static final int mybutton = 0x7f050001;public static final int myedit = 0x7f050003;public static final int mylinear = 0x7f050000;public static final int mytext = 0x7f050002;} public static class layout {public static final int main..