개발

    getdrive ( 최근의 드라이버 불러오는 함수)

    // crt_getdrive.c // compile with: /c // Illustrates drive functions including: // _getdrive _chdrive _getdcwd // #include #include #include #include int main( void ) { int ch, drive, curdrive; static char path[_MAX_PATH]; // Save current drive. curdrive = _getdrive(); printf( "Available drives are:\n" ); // If we can switch to the drive, it exists. for( drive = 1; drive Available drives are: A:..

    WinExec ( 프로세서에서 외부 프로세스 실행하기 )

    WinExec 특정 어플리케이션을 실행한다. Note 16비트 윈도우즈에만 제공된다. 어플리케이션은 CreateProcess 함수를 사용하는 것이 좋다. UINT WINAPI WinExec( LPCSTR lpCmdLine, UINT uCmdShow ); Parameters lpCmdLine [in] 실행될 어플리케이션에 대한 명령어 라인이다(파일 이름과 추가적인 파라미터). lpCmdLine 파라미터에 있는 실행 가능한 파일의 이름이 경로를 가지고 있지 않으면, 시스템은 다음의 절차 대로 실행가능한 파일을 찾는다. 1. 어플리케이션이 실행된 경로 2. 현재 디렉토리 3. 윈도우즈 시스템 디렉토리. GetSystemDirectory 함수는 이 디렉토리의 경로를 나타낸다. 4. 윈도우즈 디렉토리. GetWi..

    WM_DEVICECHANGE (착탈) 메시지

    1.WM_DEVICECHANGE 이벤트를 사용하려면?? SD혹은 USB장치 등이 단말기로부터 분리되면 , 시스템은 윈도우에 WM_DEVICECHANGE 메시지를 전달합니다. API 프로그래밍 에서는 PreTranslateMessage 에서 사용하면 되지만 MFC에서는 PreTranslateMessage에서 잡히지 않습니다. DefWinProc에서 잡아주시거나 혹은 ON_WM_DEVICECHANGE() 매크로를 이용하여 잡아야 합니다. 현재 비주얼 스튜디오에서는 위의 매크로를 지원 해주기 때문에 바로 사용 할수 있으나 , EVC (Visual Studio같은 컴파일러 프로그램) 에서는 메시지가 정의되어 있지 않으므로 상수값을 지정해 주거나 따로 정의하여 쓰셔야 합니다. 2. 메시지 핸들러 설치하는 방법 1..

    [WM_DEVICECHANGE 이벤트 종류]

    이벤트 설명 DBT_CONFIGCHANGECANCELED 현재의 구성에 대한 변경요구가 취소됐다. DBT_CONFIGCHANGED 도크 또는 도크해제의 결과 현재의 구성이 변경됐다. DBT_CUSTOMEVENT 커스텀 이벤트가 발생하다. DBT_DEVICEARRIVAL 디바이스가 삽입돼 이용 가능하게 됐다. DBT_DEVICEQUERYREMOVE 디바이스 제거 허가가 요청되다. 어플리케이션은 이 요구를 거부하고 제거를 취소시키는 것이 가능하다. DBT_DEVICEQUERYREMOVEFAILED 디바이스의 제거요구가 취소됐다. DBT_DEVICEREMOVEPENDING 디바이스가 제거되도록 하고 있다. 거부는 할수 없다. DBT_DEVICEREMOVECOMPLETE 디바이스가 제거됐다. DBT_DEVICE..

    [Android] InCorrect line ending : found carriage return (/r) without corresponding newline(\n)

    Layout XML 생성시 오류: InCorrect line ending : found carriage return (/r) without corresponding newline(\n) 해결방법 : Ctrl + Shift + F 후 저장함

    [MFC] 버튼,화면배경에 Bitmap 이미지 씌우기

    1. 버튼 컨트롤에 Bitmap 이미지 씌우는 순서 1-1. 비주얼스튜디오에서 다이얼로그 형식의 프로젝트를 생성한 뒤, 버튼 컨트롤을 만든다. 1-2. 윈도우 탐색기에서 사용하고자 하는 bmp 이미지 파일을 프로젝트의 res 폴더에 복사한다.(버튼 하나 당 4개 이미지 파일이 필요함) 1-3. 프로젝트 리소스 뷰의 rc 폴더에서 마우스 오른쪽 버튼을 눌러 "리소스 추가" 메뉴 선택 -> "Bitmap" 선택 & "가져오기" 선택 -> 이미지 4개 선택 -> rc 폴더아래에 BITMAP 폴더가 생성되고 그안에 가져온 이미지가 나타나면 각 이미지의 속성화면에서 ID를 알아보기 쉬운 이름으로 수정한다. 1-4. 버튼 변수이름을 설정하되, 변수형식 지정란에 CBitmapButton 이라고 클래스 이름을 입력한 ..

    [안드로이드] 쓰레드 사용법

    Thread thread = new Thread(new Runnable() { public void run() { //밑에 쓰면 쓰레드 돌아감!! } }); thread.start(); 핸들러 기본틀 Handler hd = new Handler(); hd.post(new Runnable(){ public void run() { tv.setText("[서버]"+dd); } });

    [MFC] 쓰레드 사용법

    UINT CmfcserverDlg::ThreadStart1(LPVOID pParam) { CmfcserverDlg *bb = (CmfcserverDlg*)pParam; while(1) { bb->strLen1 = recv(clntsock ,bb->aa , sizeof(bb->aa)-1 , 0); bb->aa[bb->strLen1] = '\0'; bb->m_List.AddString(bb->aa); } return 0; }