ChangeWindowMessageFilter – Vista 에서 메시지(WM_COPYDATA등) 보내기 DarkKaiser, 2009년 9월 12일2023년 9월 6일 비스타에서는 UAC가 동작하고 있을때 권한이 낮은 어플리케이션에서 높은 어플리케이션으로 메시지가 전달이 안된다. 여러 사이트 검색결과 ChangeWindowMessageFilter를 이용하면 된다는 것을 알게되었다. typedef BOOL (WINAPI *CHANGEWINDOWMESSAGEFILTER)( UINT message, DWORD dwFlag ); 를 선언부에 선언하고, HANDLE popapi; CHANGEWINDOWMESSAGEFILTER ChangeWindowMessageFilter; popapi = LoadLibrary("USER32.DLL"); ChangeWindowMessageFilter=(CHANGEWINDOWMESSAGEFILTER)GetProcAddress((HINSTANCE)popapi,"ChangeWindowMessageFilter"); ChangeWindowMessageFilter(WM_COPYDATA,1); 하면 됩니다. ChangeWindowMessageFilter에서 MSGFLT_ADD를 사용하면 해당메세지를 받아들이게 되고,REMOVE를 Continue Reading
이클립스 SVN 플러그인 Subversive 설치 DarkKaiser, 2009년 8월 31일2023년 9월 4일 참조 : http://www.eclipse.org/subversive/downloads.php 업데이트 사이트 두 개 추가. Subversive plug-inhttp://download.eclipse.org/technology/subversive/0.7/update-site/ Subversive SVN Connectorshttp://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ Continue Reading
__SetForegroundWindow DarkKaiser, 2009년 8월 24일2023년 9월 5일 출처 : Application Hacking ::SetForegroundWindow(), ::SetFocus()아 같은 API를 호출해서 프로그램 상에서 간단하게 상위 윈도우를 변경하거나 입력 포커스를 지정할 수 있지만, 이는 사용자가 마우스로 윈도우를 선택하거나 Alt+TAB, Alt+ESC를 입력해서 상위 윈도우를 지정하는 경우와는 다르게 동작한다.::SetForegroundWindow(), ::SetFocus()등의 API를 호출하는 스레드가 현재 입력을 처리하고 있는 상위 스레드가 아니라면, API에 의해서 설정된 윈도우는 Continue Reading
Vector, ArrayList, LinkedList 의 차이점 DarkKaiser, 2009년 8월 22일2023년 9월 5일 – Vector : 구버전 호환용. 그다지 사용되지 않음. 동기화 처리가 내부적으로 일어남으로 다른 객체보다 무거움 – ArrayList : 배열의 복사에 의한 데이터 저장처리를 내부적으로 행하며, 각 데이터에 대한 인덱스를 가지고 있기 때문에 검색이 매우 빠르다. 다만 많은 데이터의 추가/삭제시에는 배열의 복사가 빈번하게 일어나, 성능이 떨어지는 단점이 있다. 동기화된 ArrayList를 사용하기 Continue Reading
String, StringBuffer, StringBuilder 차이점 DarkKaiser, 2009년 8월 22일2023년 9월 5일 자바에서 문자열을 사용할때 도움을 주는 연산자 들은 많다. 하지만 흔히 권하는 방법은 String과 StringBuffer 그리고 StringBuilder 클래스들이다. 사용할 땐 다음을 고려해주면 된다. String은 한번 선언하면 변하지 않기 때문에, 사용하려는 문자열이 변하지 않을때 사용하도록 한다. StringBuffer는 동기화방식으로 저장되기 때문에, 멀티 쓰레드(multi Thread) 환경하에서 문자열 변경시에 사용하도록 한다. StringBuilder는 비동기화방식으로 저장되기 때문에, Continue Reading
이클립스에서 자바 기본 클래스의 소스 연결하는 방법 DarkKaiser, 2009년 8월 22일2023년 9월 6일 이클립스에서 Vector, ArrayList등의 자바 기본 클래스의 소스를 임포트하는 방법은 아래와 같다. 환경설정 > Java > 설치된 JRE > 에 시스템에 설치된 JDK를 추가해주면 이클립스에서 소스를 바로 열어볼 수 있다. (JDK 폴더 내에 src.zip파일이 있으면…) Continue Reading
배포버젼 .jar 만들기 DarkKaiser, 2009년 5월 17일2023년 9월 6일 출처 : http://blog.naver.com/an5asis/60023239426 jar 파일의 배포버젼 만들기 작성자 : 이 상 문 작성일 : 2002. 1. 9 여러 개의 class 파일로 이뤄진 프로그램을 jar 형식의 파일로 합쳐서 배포할 수 있다. 하나의 파일로 관리할 수 있다는 장점뿐만 아니라, 압축이 되어서 용량도 더 작게 만들 수 있는 장점이 있다. 그리고, 다음에 설명할 Continue Reading
Runtime 클래스를 이용한 외부 프로그램 호출 DarkKaiser, 2009년 2월 8일2023년 9월 6일 출처 : http://www.yunsobi.com/blog/411 java.lang 패키지의 Runtime 클래스는 자바에서 외부 프로세스를 생성하는 방법을 제공한다.예를 들어 자바를 이용하여 MS 윈도우에서 MS 엑셀을 실행하는것등에 이 Runtime클래스를 이용할 수 있다. 예를 들어 C:\Program Files\Microsoft Office\Office\excel.exe 위치에 있는 excel.exe를 실행하는 코드는 아래와 같다. try { Runtime run = Runtime.getRuntime (); run.exec ( "C:\\Program Continue Reading
Windows 폴더를 얻어올때 주의 사항 DarkKaiser, 2009년 2월 8일2023년 9월 2일 1) GetWindowsDirectory 가장 많이 사용하는 API 입니다.그런데 아래에도 나오지만 윈도우 서버 운영체제에서는 우리가 원하는 c:\windows를 리턴하지 않고 다른 경로를 리턴합니다.^^;; 2) GetSystemWindowsDirectory 이 API는 API는 하위 호환을 위해서 남은 것입니다.(This function is provided primarily for compatibility) 3) SHGetFolderPath MSDN에서는 ShGetFolderPath를 사용할것을 권장합니다.(Applications should store code in the Program Continue Reading
WDF 드라이버 개발하면서 Visual Studio 2008 intellisense 사용하기 DarkKaiser, 2009년 2월 8일2023년 9월 4일 위 화면 처럼 Intellisense가 참조할 경로를 입력만 해주면 됩니다. Include Search Path : C:\WinDDK\6000\inc\ddk;C:\WinDDK\6000\inc\wdf\kmdf\10 Continue Reading