본문 바로가기

app/C

(47)
c to machin language
최상위 윈도우 이름 구하기 CString s_temp;CWnd* cWnd = GetForegroundWindow(); //가장 상위의 윈도우 핸들을 구한다.cWnd->GetWindowText(s_temp); //윈도우의 이름을 가져온다.printf("\n window name %s \n", s_temp); GetWindowText 설명 : http://msdn.microsoft.com/ko-kr/library/windows/desktop/ms633520(v=vs.85).aspx 후킹으로 지속적인 이벤트가 발생할때 사용하면 안성맞춤.키보드 후킹시 어떤 프로세서에서 들어온것인지 알수 있다.(물론 캡션에 나온 이름을 가져온다. - 실제 어떤 프로그램인지 이름으로는 알수 없다.)
winapi 환경에서 콘솔 띄우기 MFC에서 콘솔을 열기 위해서 #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") 를 선언하여 콘솔창을 띄운다면 winapi에서는 AllocConsole() 함수를 호출하여 콘솔을 띄웁니다. AllocConsole() 설명 : http://msdn.microsoft.com/ko-kr/library/ms681944(v=vs.85).aspx기능은 한마디로 콘솔창을 불러옵니다. 문제는 창만 띄울뿐 핸들을 정해주지 않기 때문에 아무리 printf()를 써도 먹히지 않습니다. 그래서 핸들 적용을 위해서 freopen() 함수를 사용합니다.freopen() 설명 : http://msdn.microsoft.com/ko-kr/library/wk..
iphone 시간 출력 하기! -_- 원본 : http://www.appsamuck.com/day1.html 근데... 버전이 옛날꺼라 컴파일이 안된다..-_- (에러가...3개가 나네..) 그래서 timer부분만 쓰고 날짜를 받아오는 것만 바꿔봤다. 다른 부분은 모두 위의 사이트에서 따라하면 되고(파일도 받을수 있고) -(void)updateLabel { NSDate *today = [NSDate date]; NSString *str=[NSString stringWithFormat:@"%@",today]; str = [str substringToIndex:20]; countdownLabel.text = str; } MinutesToMidninghtViewController.m에서 메소드 부분만 살짝 바꿔봤다. str에서 substr..
head first iphone 2장...-_- 슬슬 입질이 온다. 이제부터 슬슬 아이폰 고유의 개념이 나오기 시작하는구나.-_- 중요한건 데이터 소스 컨트롤 델리게이트에 이르는 컨트롤 커넥트및 이벤트 발생부분인거 같다. (델리게이트는 따로 정리 해야겠다.) 그나마 X-code 기초강좌보면서 하니까 이해 가는데... 첨부터 모르는 상태에서 헤드퍼스트는 무리일듯;; 중요한 권한, 세터-게터, 메모리 부분을 그냥 훅 지나가 버리는데 뒤에 나올려나 모르겠다. (요것도 하나씩 포스팅 할 정도로 많은데;; ) 아! 잼있는걸 봤는데.. 오브젝트C 가 C++보다 먼저 나왔다. -_- 만일 더 늦게 나왔다면 C++을 기초로 했을까? -_-그러면 오버로딩이랑 함수 초기화도 간편했을텐데.. 2장의 중요포인트 @ 피커는 델리게이트와 데이터소스가 있어야만 작동한다. @ 프로토콜은 데이터소스및..
head first iphone 1장~ -_-정말....왜 아이폰 개발을 하고 있는거지?-_-ㅋㅋㅋ 안드로이드 하다가 어저따가;;;ㅋㅋㅋㅋ 확실히 코코아 스타일이 익숙치는 않은데.-_- 크게 안드로이드와 연결해보면은 UI는 안드로이드에선 XML이고 오브젝트C에선 xib 파일로 작성되며 코드는 안드로이드에선 자바기반이여서 java 이고 오브젝트C에선 C기반으로 .c or .m 헤더파일 .h 로 된다. 각 이벤트의 작동은 안드로이드는 인터페이스로 (혹은 확장으로) 받아서 xml에 있는 UI를 메소드와 연결해주는 리스너를 선언해주고 오브젝트C는 .m 에서 소스를 구성하고 .xib에서 이어주는 정도 (아직 딜리게이트부분을 않봐서..나중에 다시 정리해야겠따.) 확실히 언어의 차이보다는 프로그램 작성의 차이가 너무 크다. 오브젝트C가 C를 기본으로 따르..
object-c 정리 그림! +_+와우...몇일동안(정확히는 오늘 하루지만) object-c 를 배우면서 뭐...-_-쉽네?ㅋㅋ 뻥이고;; 몇몇개 선언부가 바뀐거 빼고는 또한 더럽게도 오버로딩이 안되는 거 빼고는 익숙한거 같다. C와 스몰토크를 확장시켜서 만들어서그런지...괜찬은데? 쉽고.. -_- 아직 다 않배워서 그런가?ㅋㅋ 아니면 난 천재?! 출처 : http://blog.naver.com/kerc?Redirect=Log&logNo=80105745941 영어가 된다면 요기도! http://cocoadevcentral.com/d/learn_objectivec/ 근데 대체 왜 내거 컴터에서는 내꺼 블러그가 않들어가 지는거냐..-_-ㅋㅋㅋ
: error C2440: 'static_cast' : 'void (__thiscall CTrayDlg::* )(WPARAM,LPARAM)'에서 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'(으)로 변환할 수 없습니다. 정적 캐스팅 및 MFC 메시지 맵 Visual C++ .NET부터는 MFC에서 메시지 처리기 함수의 반환 형식 및 매개 변수 형식을 보다 엄격하게 검사합니다. 이 새로운 동작은 안전하지 않은 메시지 처리기를 오류 메시지로 플래그를 지정하여 발생할 수 있는 문제를 개발자에게 알립니다. ON_MESSAGE, ON_REGISTERED_MESSAGE, ON_THREAD_MESSAGE 및 ON_REGISTERED_THREAD_MESSAGE에 대해 정적 캐스트를 사용합니다. 예를 들어, 이전에는 개발자가 ON_MESSAGE 또는 ON_REGISTERED_MESSAGE에 대해 LRESULT 대신 void를 반환하는 멤버 함수를 사용하여 오류 없이 컴파일할 수 있었지만 Visual C++ .NET에서는 발생할 수 있는..