C# 윈폼 예제, 스크린 캡쳐 소스 (화면 ScreenShot) 스크린 캡쳐 (ScreenShot) 프로젝트 - WindowsApplication2.zip [클릭] 간단한 C# 윈폼 스크린샷 프로그램입니다. 필요한 건 역시, 각 좌표를 Integer 형으로 변환시켜 인식시켜 줄 네임 스페이스입니다. 1System.Runtime.InteropServicescs 그리고 스크린 캡쳐를 위한 좌표 계산 API를 선언합니다. 123456789101112[DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]public static extern IntPtr GetDC(IntPtr hWnd); [DllImport("user32.dll", ExactSp..
[스크린락] C# 윈도우폼 디자인 예제, ScreenLock 다이얼로그 윈도우폼 예제 프로젝트 - ScreenLock.zip [클릭] 다이얼로그 기본 비밀번호는 "password"입니다. 3회 만에 비밀번호를 제대로 입력하지 않으면, 입력창이 사라집니다. 그때 C# 다이얼로그에서 F7을 누르면 다시 입력창이 나타납니다. 근데, 그냥 실행시켜도 ALT+F4가 먹혀요. 두 개의 프로그램이 프로젝트에 삽입되어 있는데, 교체해 가며 실행하는 방법은 간단합니다. 1Application.Run(new "여기에 파일 이름")cs 여기에 삽입된 C# 타이머들은 비밀번호 해제 후 본 화면으로 돌아갈 때, 1. 어두웠던 화면을 점차 밝게,2. 꾸준히 포커스를 텍스트 박스 안으로, 지정해줍니다. 아래 코드는 패스워드를 입력..
C# 스플래시 윈폼 구현 (대기 시간 지루하지 않은 다이얼로그) 프로젝트 - C_sharp_SplashScreen.zip [클릭]실행파일 - SplashScreen.zip [클릭] WinForm 스플래시 스크린은 실버라이트를 이용한 웹 페이지와는 조금 다릅니다. 시각적으로도 다르고, 구현 방식도 당연히 다르죠. 스플래시 스크린은 주로 응용 프로그램이 로드되는 동안에 사용자에게 지루함(?)을 줄이기 위한 용도 등으로 쓰입니다. 예를 들어, 어떤 프로그램을 실행할 때, 프로그램 로딩이 끝나기 전 GIF 이미지가 실행되는 건 아시죠? 그와 유사한 프로그램이라고 할 수 있습니다. 이런 C# 윈폼 스크린을 구현하기 위해선 그림자, 투명도, 배경 이미지, 투명함의 정도 등에 대한 API 사용이 요구됩니다.가장 중요..
C언어 힙, 선택, 삽입, 버블, 쉘, 합병, 퀵 정렬 소스 코드 (7종류) 7개의 정렬법7개의 정렬이란, 선택정렬, 삽입정렬, 버블정렬, 쉘정렬, 합병정렬, 퀵정렬, 힙정렬입니다. 정수 20만개 까지만 받도록 설정해 놨고, 아래의 그림은 18만개의 정수를 입력받아 정렬시킨 결과입니다. C언어 정렬 예제 소스 코드 - c.zip [클릭] 7개 정렬 소스 공통 부분 (선택정렬, 삽입정렬, 버블정렬, 쉘정렬, 합병정렬, 퀵정렬, 힙정렬) 12345678910111213141516171819#include #include #include #define MAX_SIZE 1000000 #define SWAP(x, y, t) ( (t)=(x), (x)=(y), (y)=(t) )//x와 y의 위치를 temp값을 이용..
Qt 프로그래밍 프로젝트, VisualStudio -> Qt Creator 변환 방법 이 포스트에서 소개하는 개발 환경은 Visual Studio 2012 + Qt 5.3.2입니다. Qt 프로그래밍에 필요한 팁입니다. 첫 번째 프로젝트의 한글 경로를 모두 제거합니다. 즉, 폴더 이름을 바꾸던지 다른 경로로 옮기세요. QtCreator은 한글 경로 인식 못 합니다. 비주얼스튜디오에서 할 수는 있는데... ... ... .. .. . . 두 번째 한글 경로를 변경하면 Visual Studio에서 사용하는 .pro.user 내부의 경로까지 바뀌진 않습니다. 그러하니 일일이 손으로 고쳐줘야 합니다만, 다행히 많은 양은 아니라 그냥 고칠 수 있어요. 12345678910ProjectExplorer.Project...
Qt, sudo apt-get update, ARM 보드와 우분투 업데이트 (포팅 후) 어느 특정 보드에 우분투를 포팅할 일이 생길 수 있습니다. 그리고 Qt를 사용하는 분들이라면 QtCreator도 당연히 설치하시겠죠. 그렇지만, Qt에서 사용하는 라이브러리는 우분투 기본 커널에 모두 포함되어 있지 않습니다. 별도로 설치를 해줘야 한다는 뜻입니다. 아니면, 포팅할 커널에 미리 Qt용 라이브러리들을 설정해 놓아야 합니다. 제 경우엔 커널을 마음대로 편집할 능력이 없어서 우분투만 포팅한 이후 Qt를 설치했습니다. 그리고 Qt용 라이브러리를 update - upgrade 했죠. 아래 메시지는 Qt Creator을 실행할 때 나오는 것으로 앞서 설명했다시피, Qt용 라이브러리가 없어서 발생하는 것입니다. 12..
Qt qmake.conf' has modification time .. s in the future 에러 해결 Qt Creator에서 '...qmake.conf' has modification time ,,,,,, s in the future 과거의 시간으로 현재의 소스 코드를 컴파일할 수 없다는 뜻입니다. 제 경우엔 RTC가 없는 우분투 포팅 보드에서 확인했습니다. RTC가 없다 보니 현재 시각이 저장되질 않아 재부팅 후엔 2000년 1월 1일 오전 9시로 초기화되었었죠. 이런 상태에서 컴파일을 시도하면 여지없이 위와 같은 에러가 발생하며 빌드가 되질 않았었죠. 시스템의 날짜를 올바르게 바꿔주면 해결됩니다. 특히, 저처럼 RTC가 없는 보드에서 Qt Creator를 다룰 땐 시간 확인 꼭 하세요. 뭐...
MFC COLORREF에서 RGB Alpha 변환 추출 방법 출처 - GDI Accessories and Tools: COLORREF [클릭] WIN32 API에서 제공되는 것으로 3개의 색상 값이 사용됩니다. 각각은 8비트로 Red, Green, Blue 순이 되겠습니다. MFC COLORREF RGB 추출 기초 Red76543210 Green76543210 Blue76543210 따라서, Red, Green, Blue는 0 ~ 255까지의 값을 가질 수 있습니다. 내부적으론 하나의 결과 값을 위해 아래와 같이 결합합니다. Color Value23222120191817161514131211109876543210BlueGreenRed RGB 값을 이용하면 16만 개 이상의 색상을 사용할 수 있다는 의미이..
MFC 비트맵 리소스 추가, 대량 Bitmap 일괄 등록 방법 종종, 여러개의 비트맵 리소스 파일을 다른 프로젝트에서 옮겨올 경우가 있습니다. 이럴 경우 소스 코드를 건드려야 하는 상황이 발생할 수도 있어요. 아래의 사항은 다른 프로젝트에서 사용하던걸 옮겨올 때 사용하는 방법입니다. (저는 비트맵 리소스 120개를 옮겼었음) "프로젝트명.rc - 우클릭 - 코드 편집"을 눌러서 rc 소스를 열어서 아래 소스를 찾습니다. 1#ifdef APSTUDIO_INVOKEDcs 위의 코드 뒤쪽으로 아래 소스 삽입합니다(아래는 예). 비트맵 리소스 소스입니다. 1234// BitmapIDB_BMP_SLDR_THUMB BITMAP "res\\Sldr_Thumb.bmp"IDB_BMP_SLDR_BACK_BIG BITMAP..
안드로이드 이미지 불러오기, 서버에서 사진 가져오기 원격 서버로 접근해 그곳의 이미지를 불러오는 소스입니다. 서버에서 사진 가져오기할 땐, HttpURLConnection 클래스를 이용하며, 확장자 자바 파일과 main.xml 소스는 바로 아래에 있습니다. 안드로이드 이미지 불러오기 소스 : 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.M..
C# HTML, 웹브라우저 제어 예제, WebBrowser 컨트롤 소스 C# HTML을 사용하려면, 먼저 브라우저에 이벤트를 등록하고 링크를 걸어줍니다. 비주얼 스튜디오 도구 상자에 있는 WebBrowser 컨트롤을 이용하며, URL은 웹브라우저 객체의 Navigate 함수의 인자로 전달합니다. 12345this.webBrowser1.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler (this.webBrowser1_DocumentCompleted); this.webBrowser1.Navigate("http://www.egloos.com/");cs 웹브라우저 로딩 후 태그 분류. (가장 기본적인 형식) ..
C# 안드로이드 연동, TCP 통신 소켓 예제 소스 안드로이드 소스 - TCP.java C# 프로젝트 - tcpchating-febris.zip C# 안드로이드 연동 소스는 처음부터 제가 만들진 않고, 웹 서핑을 통해 얻은 소스를 수정해봤습니다. (소스는 첨부 자료 참조) C# 소스는 원래 내일도 맑음[클릭]이란 네이버 블로그에서 인용했고, 안드로이드 소스는 기억이 안나요 ㅡㅡ;; 일단 C#을 실행해 보면, 이런 화면이 나옵니다. 이때, 안드로이드에서 메시지를 전송해 보겠습니다. Test C#이란 메세지를 전송합니다. 꽤 간단한 C# 폼에선 메시지를 수신하고 "OK"란 응답 메시지를 송신합니다. C# 안드로이드 TCP 연동이 된겁니다. 현재로선 경고문이 많이 나오는데, Try - Catch문에서 메시지 ..