Windows Mobile에서 SIP(Keyboard)가 자동으로 팝업되는 것을 해제하는 레지스트리 코드입니다.

레지스트리 경로
[HKEY_CURRENT_USER\ControlPanel\Sip\]

설정 값
(DWORD)TurnOffAutoDeploy=1
(값을 1로 설정하면 자동팝업 해제)
Posted by Gungume
,
Posted by Gungume
,

프로젝트 클리너를 업데이트 했습니다. 기본 사용법은 0.2 버전이랑 동일합니다.

우선 기존 프로그램은 닷넷의 기본 파일/폴더 검색 메소드를 반복해서 사용시 상당한 속도 저하가 있길래 이 부분을 개선했습니다.


또한 위의 화면처럼 "확인 후 정리하기" 기능을 통해서 삭제하기 전에 삭제될 목록을 확인 후 원하는 목록만 삭제하는 기능을 추가했습니다.

"확인 후 정리하기" 에서 "정리하기" 버튼을 눌러서 정리한 이후에는 삭제 실패한 항목을 목록에 다시 보여줍니다
(목록을 다시 보여줄 때에는 처음부터 체크해제를 해놓은 항목에 대해서는 보여주지 않습니다)

(사용언어 / 제작툴 / .Net Framework버전 : C# / VS2008 / 2.0)

이전버전 받기

※ 정리할 목록의 기본값은 C언어쪽 프로젝트에 맞게 해놓은 목록입니다. 기본 목록을 가지고 C# 프로젝트에 사용하면 '*.RES' 항목 때문에 리소스 파일이 삭제되니 주의 바랍니다.

Posted by Gungume
,

티스토리 탁상달력 사진 공모전용으로 올리는 주산지 사진입니다.

공모전과 관련된 사항은 아래 링크에서 확인하세요.

Posted by Gungume
,
제가 올렸던 WMI라이브러리,  MultipleSearchPattern 라이브러리를 보시면 chm 파일로 라이브러리에 대한 도움말 파일이 있는데 Sandcastle이라는 것을 이용해서 이 도움말 파일을 만드는 방법을 설명하겠습니다.

우선 이 작업을 위해서는 XML주석이 필요한데 컴파일 결과로 XML 파일을 생성해야 합니다.
(XML 주석과 관련해서는 http://msdn.microsoft.com/ko-kr/library/b2s063f7.aspx 를 참고하세요...)

C#의 프로젝트 옵션에서 Build -> Output 항목을 보면 "XML documentation file" 항목이 기본적으로 체크되있지 않은데 아래 화면처럼 체크를 한 뒤에 컴파일을 하면 XML 주석 내용이 *.XML 파일로 출력됩니다.

이제 이 xml 파일과 dll 등 프로젝트 결과물은 도움말 파일 만드는데 사용합니다.

우선 아래 2개의 사이트에서 파일을 받아서 설치합니다.

각각 대략적으로 설명하면 Sandcastle은 도움말 파일을 만들기 위한 라이브러리, SHFB(Sandcastle Help File Builder)은 도움말 파일을 만드는 툴 정도로 생각하시면 됩니다.
(이외에 chm 파일을 만들기 위해서 "HTML Help Workshop"가 필요하지만 vs 등을 설치하면 기본적으로 설치되니 별도의 설치는 필요 없을 듯 합니다. 혹시 설치가 안되있다면 인터넷에서 그냥 받아서 설치하면 됩니다.)

설치 후에 생성된 시작메뉴에서 "Sandcastle Help File Builder GUI"를 실행합니다.

프로그램 실행 후에 File -> New Project나 툴바메뉴에서 가장 왼쪽 아이콘을 눌러서 새프로젝트를 생성합니다.
(도움말 파일을 만들기 위한 정보, 결과물이 저장될 수 있도록 작업 경로를 만드는 작업으로 적당한 폴더를 정해주고파일명을 적어준 후 저장 버튼을 누릅니다.)

프로젝트를 만들고 나면 아래 화면의 오른쪽에 보이는 것처럼 Project Explorer에서 Documentation Sources 항목이 있는데 여기서 마우스 오른쪽 버튼을 눌러서 Add Documentation Sources를 눌러서 위에서 설명했던 xml 파일과 dll 등의 프로젝트 결과물을 추가해줍니다.
(이외에 Visual Studio의 솔루션, 프로젝트 파일 등 다른 방법으로도 추가가 가능합니다.)

파일 추가가 끝나면 아래 화면의 왼쪽에 있는 Project Properties에서 적당히 설정을 해주고 Visual Studio에서 볼 수 있는 빌드 아이콘을 클릭해서 빌드를 합니다.
(설정은 기본적으로 Language 정도만 해주면 될 것 같고 때에 따라서 포맷, 스타일 정도를 지정해 주면 될 것 같네요...그리고 빌드 버튼은 Documentation -> Build Project 메뉴로도 가능합니다.)

빌드가 성공하면 아래처럼 빌드가 성공했다는 메시지가 나옵니다.
(빌드 시간은 좀 걸립니다.)

빌드가 성공적으로 끝나면 처음에 프로젝트 만들었던 폴더를 보면 Documentation.chm 파일로 도움말 파일이 완성되고 열어보면 아래처럼 결과가 나옵니다.

참고로 위 샘플에 쓰인 코드는 아래와 같습니다. XML 주석 부분이랑 결과를 비교해보세요.

Posted by Gungume
,


프로젝트 클리너 - v0.2에 사용했던 MultipleSearchPattern을 라이브러리화 시켰습니다.

사용법은 dll, xml 파일을 같은 경로에 두고 프로젝트에서 참조시키면 되고, 모두 정적메소드로 만들었기 때문에 객체 생성없이 바로 사용하면 됩니다.

닷넷의 기본 DirectoryInfo.GetFiles(), DirectoryInfo.GetDirectories() 메소드의 searchPattern은 단일 조건밖에 되지 않는데 이것을 개선해서 여러 조건을 사용가능하게 해줍니다.

기본적인 사용법은 MS의 GetFiles(), GetDirectories() 메소드에 매개변수를 약간 변형시켰습니다.


일단 두 메소드 모두 첫번째 매개변수는 결과를 받을 배열로서 out 키워드를 이용해서 넘겨주면 메소드 실행 후 결과를 받을 수 있습니다. 기본적으로 string배열로 결과를 받을 수 있고, 각 메소드에 맞게 DirectoryInfo, FileInfo 배열로 결과를 받을 수 있습니다.

두번째 매개변수는 검색을 할 경로를 지정합니다. 단순히 하나의 경로에 대해서 처리할 때는 string형에 경로를 저장해서 넘겨주면 되고 복수의 경로에 대해서는 string배열로 넘겨주면 됩니다.

세번째, 네번째 매개변수는 searchPattern과 관련된 것으로 기본 문법은 MS의 메소드와 같지만 복수개의 조건을 지정하고 싶으면 char형의 구분자를 통해서 여러개의 조건을 지정할 수 있고 이떄 사용된 구분자는 네번째 매개변수로 넘겨줍니다.
(searchPattern의 자세한 내용은 http://msdn.microsoft.com/ko-kr/library/8he88b63.aspx 를 참고하세요.)

마지막으로 SearchOption은 검색경로에 대해서 하위 경로 포함여부를 정하는 것으로 MS 메소드에 사용하는 SearchOption을 그대로 사용합니다.

실제 사용 예는 아래와 같고 ';'을 구분자로 사용한 예입니다.

FileInfo[] result = null;
string path = @"C:\";
string multipleSearchPattern = "*.jpg;*.bmp;*.png";

MultipleSearchPattern.GetFiles(out result, path, multipleSearchPattern, ';', SearchOption.AllDirectories);
(사용언어 / 제작툴 / .Net Framework버전 : C# / VS2008 / 2.0)

Posted by Gungume
,
현재 마우스 커서의 상태를 얻는 방법입니다.

뭔가 플래그연산을 통해서 얻을 수 있을 것 같은데 못 찾겠고 일단 아래의 코드를 사용하면 작동합니다.
 
// 상태를 알고 싶은 커서 모양(예:IDC_IBEAM)으로 임시 커서 생성
HCURSOR loadCursor = LoadCursor(NULL, IDC_IBEAM);

// 현재 커서를 얻어 옴
CURSORINFO ci;
ci.cbSize = sizeof(CURSORINFO);
GetCursorInfo(&ci);
			
if( loadCursor == ci.hCursor )
{
	// 조건이 True이면 현재 커서는 IDC_IBEAM
}

참고자료는 아래 사이트에 있는 내용인데 이상하게 전 아래 사이트에 있는 코드로는 작동이 안되더군요.

Posted by Gungume
,

프로젝트 클리너를 업데이트했습니다. 일단 닷넷으로 만들었습니다.

주요 업데이트 내용은 폴더를 정리할 수 있는 기능을 추가했고 파일, 폴더를 선택해서 정리가 가능합니다.

파일과 폴더 목록에는 와일드카드(*, ?) 사용이 가능하며 자세한 내용은 아래 msdn의 searchPattern 부분을 참고하면 될 것 같습니다.

또한 정리할 파일, 폴더의 목록과 선택여부를 data.xml파일에 저장하도록 했으며 xml 구조는 아래와 같습니다.

data.xml 파일이 없는 경우나 파일을 읽어오는 과정에서 오류가 발생하면 위의 스크린샷에 있는 설정이 기본 설정으로 적용되어서 사용이 가능합니다.
 

   
      *.ncb 
      *.opt 
      *.plg 
      *.obj 
      *.sbr 
      *.bsc 
      *.idb 
      *.pdb 
      *.ilk 
      *.exp 
      *.pch 
      *.res 
   
   
      DEBUG 
      RELEASE 
   

(사용언어 / 제작툴 / .Net Framework버전 : C# / VS2008 / 2.0)

이전 버전 받기
최신 버전 받기

※ 정리할 목록의 기본값은 C언어쪽 프로젝트에 맞게 해놓은 목록입니다. 기본 목록을 가지고 C# 프로젝트에 사용하면 '*.RES' 항목 때문에 리소스 파일이 삭제되니 주의 바랍니다.
Posted by Gungume
,


H님의 의견을 반영해서 프로그램을 약간 업데이트했습니다.

업데이트 내용은 폴더의 날짜도 변경 가능하게 했습니다.
(H님의 다른 의견인 프로그램 자체에서 목록을 추가하는 기능은 C#의 기본 기능상으로는 폴더와 파일을 따로 추가해야되고 폴더가 다중선택이 안되는 문제로 일단 보류 상태입니다.)

목록에 폴더를 추가한 경우에는 일괄변경 하기전에 해당 폴더를 닫아주시기 바랍니다. 탐색기 등에서 폴더를 열어놓으면 윈도우에서 해당 폴더를 사용중이라는 오류가 나옵니다.
(폴더를 닫은 이후에도 같은 오류가 발생되면 조금 시간이 지나고 재시도하시면 됩니다.)

(사용언어 / 제작툴 / .Net Framework버전 : C# / VS2008 sp1 / 2.0)

이전 버전 받기


Posted by Gungume
,
Posted by Gungume
,