모종의 음모/Notepad22009. 1. 4. 22:30
메뉴상에서 notepad.exe를 notepad2.exe로 대체 할 것인지에 대한 메뉴를 추가 하였다.
일단 사용한 함수는 RegSetValueEx 이다.

 
 LONG WINAPI RegSetValueEx(
   __in        HKEY hKey,
   __in_opt    LPCTSTR lpValueName,
   __reserved  DWORD Reserved,
   __in        DWORD dwType,
   __in_opt    const BYTE *lpData,
   __in        DWORD cbData
 );

기존에는 RegSetValue를 사용했었는데, 이 녀석은 Key , SubKey에 대해서 만 등록을 할 수 있지,
Value는 등록하지 못하므로 Value를 등록 할 수 있는 RegSetValueEx를 사용하게 되었다.

 RegSetValueExW(key1, L"Debugger", 0, REG_SZ, cmd, len * 2);
데이터는 위의 prototype를 보면 알겠지만,
"키,value name, 0, 변수 타입, value, 길이" 의 순서인데 reserved 값으로 0이 고정 되어 있다.

notepad2 프로젝트는 unicode로 되어 있으므로, 이에 대응하기 위해서 RegSetValueExW로 함수를 사용하였는데,
버그인지는 모르겠지만, len 부분에서 2배를 해주어야 만 제대로 value가 들어 가는 문제가 있었다.
2배라고 함은 unicode는 2byte 문자열이므로 이를 맞추어 주기 위해 2배가 된 것 같기는 하지만,
문자열이 unicode인데 길이만 따로 ascii 식으로 세어 준다는 것은 무언가의 문제가 있는 것으로 보인다.

그리고 prototype 상으로는 BYTE 타입의 문자열을 원하므로 Unicode 함수임에도 불구하고 warning을 출력한다.
--------------------Configuration: Notepad2 - Win32 Release--------------------
Compiling...
Notepad2.c
C:\cvsdown\np2src_VC6\src\Notepad2.c(2994) : warning C4133: 'function' : incompatible types - from 'unsigned short [264]' to 'const unsigned char *'
Linking...

Notepad2.exe - 0 error(s), 1 warning(s)


[출처 : http://msdn.microsoft.com/en-us/library/ms724923(VS.85).aspx]
Posted by 구차니
; 1=SourceDrive:\pathname of the directory from which the INF file was installed
; 2=c:\WININST0.400
; 3=c:\UNINSTAL.000
; 4=c:\UNINSTAL.000
; 5=inf
; 10=windows
; 11=system (or system32 on Windows NT)
; 12=system\iosubsystem
; 13=command
; 17=inf
; 18=help
; 19=windows
; 20=fonts
; 21=system\viewers
; 22=VMM32
; 23=color
; 24=c: (the Applications folder [ie. Program Files] root)
; 25=windows (MS doc refers to this as the "Shared directory". ?)
; 27=c:
; 28=windows
; 30=c: Root directory of the boot disk (might not be the same directory as dirid24)
; 31=c: (as above?)
; 32=c:\Winboot
; 33=start menu\programs
; 50 System directory (%windir%\system) on NT-based OS (only)
; 51 Spool directory (not used for installing printer drivers)
; 52 Spool drivers directory (not used for installing printer drivers)
; 53 User profile directory
; 54 Directory where ntldr.exe and osloader.exe are located (NT-based systems only)
; 55 Print processors directory (not used for installing printer drivers)

; Value Shell Special Folder
;
; 16406 All Users\Start Menu
; 16407 All Users\Start Menu\Programs
; 16408 All Users\Start Menu\Programs\Startup
; 16409 All Users\Desktop
; 16415 All Users\Favorites
; 16419 All Users\Application Data
; 16422 Program Files
; 16427 Program Files\Common
; 16429 All Users\Templates
; 16430 All Users\Documents

[출처 : http://www.msfn.org/board/lofiversion/index.php/t34207.html]
Posted by 구차니
프로그램 사용2009. 1. 4. 20:08
그녀의 환상의 섬 에서 배포 중인 프로그램으로
백업 XML을 사용하여 통계를 내주는 console 프로그램이다.

통계를 올릴려니 겨우 3달 해서 올릴만한 내용도 없고 ^^;
올릴려고 마음먹고 돌렸다가 통계를 보고 좌절 OTL



Tistat - 티스토리 통계 프로그램댓글 많이 달린 글 10개
윈도우 기반 무료 프로그램을 찾는 이유 (9)
샨새교 산새교 tistory tisotry (8)
어떤 사람을 원하십니까? (8)
Notepad2 컴파일을 위한 몸부림 - 4 (7)
notepad2 와 notepad++ (7)
최초로 일일 100hit 돌파! (6)
닭가슴살이 칼로리가 낮다? (6)
사용중인 국산 무료 프로그램 목록 (6)
VI 사용법 - simple usage about VI (6)
현대카드의 게재중단 요청 (6)

댓글 많이 단 사람 10명
구차니 (92)
okto (23)
그리움(복분자주) (14)
웹초보 (9)
따뜻한 바람 (8)
인터돌 (6)
BLUE'nLIVE (5)
토우 (4)
도아 (4)
Real_G (3)

댓글 단 사람 전체 목록
구차니 (92)
okto (23)
그리움(복분자주) (14)
웹초보 (9)
따뜻한 바람 (8)
인터돌 (6)
BLUE'nLIVE (5)
토우 (4)
도아 (4)
Real_G (3)
Mr.Dust (2)
seii (2)
컴치초탈 (2)
이정일 (2)
발톱냥 (1)
마래바 (1)
알비 (1)
Kay~ (1)
멀티라이터 (1)
컴파서블 (1)
bluenlive (1)

Posted by 구차니
모종의 음모/Notepad22009. 1. 4. 00:18
Visual Studio Debugger How to: Launch the Debugger Automatically

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\currentversion\image file execution options

위의 키는 현재 notepad2.inf에서
(아마도) C:\WINDOWS\NOTEPAD.EXE(혹은 C:\WINDOWS\SYSTEM32\NOTEPAD.EXE)를
대체해서 실행하도록 하는 용도로 쓰이고 있다. (도대체 어느 녀석이 어느 녀석이지?)
하지만 원래 용도는, 프로그램 실행중에 죽는 경우에 디버깅을 하기 위한 방법으로 사용하는 것 이라고 한다.

[참고 : http://byung.egloos.com/3572751]
[참고 : http://www.osix.net/modules/article/?id=781]
[출처 : http://msdn.microsoft.com/en-us/library/a329t4ed.aspx]


WindowsXP SP2 에서 notepad.exe를 notepad2.exe로 교체 하는 방법에 대한 내용이다.
여기서 건진 키워드는 WFP (files protected by Windows File Protection)
[출처 : http://weblogs.asp.net/rweigelt/archive/2004/08/12/213085.aspx]

WFP는 Windows2000 부터 지원하고 있으며 C:\WINDOWS\SYSTEM32\dllcache 폴더 그리고 레지스트리와
연관이 되어 있다

WFP 기능의 작동 방법

WFP 기능은 두 가지 메커니즘을 사용하여 시스템 파일을 보호합니다. 첫 번째 메커니즘은 백그라운드에서 실행됩니다. 이 보호 기능은 WFP에 보호된 디렉터리의 파일에 대한 디렉터리 변경 알림이 나타난 후 실행됩니다. WFP에 이 알림이 나타나면 WFP는 어떤 파일이 변경되었는지 확인합니다. 파일이 보호되면 WFP는 카탈로그 파일에서 파일 서명을 찾아 새 파일이 올바른 버전인지 확인합니다. 이 파일이 올바른 버전이 아니면 WFP는 새 파일을 캐시 폴더(파일이 캐시 폴더에 있는 경우) 또는 설치 원본에 있는 파일로 교체합니다. WFP는 다음과 같은 순서로 해당 위치에서 올바른 파일을 검색합니다.
  1. 캐시 폴더(기본적으로 %systemroot%\system32\dllcache)
  2. 네트워크 설치 경로(네트워크 설치를 사용하여 시스템을 설치한 경우)
  3. Windows CD-ROM(CD-ROM을 사용하여 시스템을 설치한 경우)
WFP가 캐시 폴더에서 파일을 찾거나 설치 원본이 자동으로 발견되면 WFP는 이 파일을 자동으로 교체합니다.
[공식 : http://support.microsoft.com/kb/222193]

파일이 두개인 이유는 아마도 하위 호환성으로 인해서 기존의 하위 버전에서는 존재하지 않던
C:\WINDOWS\SYSTEM32 폴더의 호환성을 위해 C:\WINDOWS에도 notepad.exe를 놔두었다고 한다.
[출처 : http://labnol.blogspot.com/2006/03/why-two-notebookexe-files-in-windows.html]
Posted by 구차니
프로그램 사용/wiki2009. 1. 3. 10:41
 

간만에 시간도 조금 남아서 야심한 밤에 XAMPP에 MediaWiki를 설치하고,
MediaWiki의 위키 문법 편집기를 대체 할 FCKEditor를 설치 해볼려고 했다.

FCKEditor는 WYSIWYG 에디터로서, 포털 블로그에서 지원하는 편집기 처럼
HTML을 사용하지 않더라고 사진을 붙이고, 꾸밀 수 있는 웹 프로그램이다.

FCKEditor Logo 및 About 페이지

FCKEditor의 WYSIWYG 툴바

FCKEditor를 사용하지 않으면 어떻게 Wiki를 편집하게 되는지 궁금하신 분들을 위한 스샷

아무튼 저런 Wiki 문법은 익숙해지지 않은 사람들에게 있어서는 재앙이므로, WYSIWYG 에디터가 없다면
아무리 좋은 툴이라도 남녀노소 접근을 할 수 없다는 문제점이 있으므로, 효용성이 줄어 들게 된다.


MediaWiki 설치 시 요구 사항
Apache(버전 정보 표기 되어 있지 않음) 혹은 IIS 6.0 이상
PHP 5.0 이상 (5.1 이상 추천)
Mysql 4.0 이상
40MB 이상의 stroage / 256MB 이상의 memory
[출처 : http://www.mediawiki.org/wiki/Manual:Installation_requirements]

설치 버전 정보
XAMPP 1.7.0 - Apache 2.2.11 MySQL 5.1.30 PHP 5.2.8 include
MediaWiki 1.13.3
FCKEditor 2.6.3

XAMPP 설치 하기
다음 다음 다음 확인 누르면 기본값으로 C:\XAMPP 에 설치가 되고
htdocs(웹 페이지 저장 위치)는 C:\XAMPP\htdocs에 존재한다.

Control Panel에서 Apache, MySQL을 기동시켜 주면 준비 끝

MediaWiki 설치 하기
Step 1. 다운받은 MediaWiki의 압축을 해제해서 C:\XAMPP\htdocs\mediawiki 로 넣어 준다.
mediawiki 라고 했을 경우에, http://localhost/mediawiki로 접속하게 되므로 편한 이름으로 넣어 주면 된다.

Step 2. 위의 주소로 접속해서 install을 진행하다 보면 Mysql용 User / database를 요청하는데,
xampp의 경우 myphpadmin이 설치 되어 있으므로 이 곳에서 접속하여 user와 database를 생성해 준다.

FCKEditor 통합 하기
[FCKEditor + Mediawiki Installation : http://mediawiki.fckeditor.net/index.php/FCKeditor_integration_guide]

Step 3.  FCKEditor 통합 홈페이지의 plug-in과 FCKEditor를 다운 받는다.
http://www.fckeditor.net/nightly/FCKeditor_N.tar.gz 링크는 FCKEditor만 들어 있고
http://mediawiki.fckeditor.net/nightly/svn/mediawiki_fckeditor_ext_N.zip 링크는 extensions 와 FCKEditor 포함이고
extensions는 SVN을 통해서 받을 수 있다. 번거롭다면 mediawiki_fckeditor_ext_N.zip를 다운로드 한 후 최신 버전의
FCKEditor를 다운 받으면 된다.(SVN을 설치 하기 귀찮으니..)

Step 4. C:\XAMPP\htdocs\mediawiki\extensions 에 위에서 다운받은 것을 압축 해제 한다.

Step 5. C:\XAMPP\htdocs\mediawiki\LocalSettings.php 의 가장 마지막 줄에 아래의 것을 추가 한다.
 require_once( "extensions/FCKeditor/FCKeditor.php" );

Step 6. C:\XAMPP\htdocs\mediawiki\extensions\FCKeditor\plugins\mediawiki\fckplugin.js 파일에
 //      ['MW_Template','MW_Special','MW_Ref','MW_Math'],
          ['MW_Ref', 'MW_Special'],
['MW_Template','MW_Special','MW_Ref','MW_Math'],를 주석처리 하고
['MW_Ref', 'MW_Special'], 로 변경한다.
FCKeditor의 Toolbar 설정인데, 실제 작동이 하는지는 모르겠지만, 해주지 않아도 작동에는 이상이 없다.

MediaWiki의 하위 경로(extensions-FCKeditor)

fckeditor_config.js 파일의 수정 위치

공식 홈페이지
[XAMPP : http://www.apachefriends.org/en/xampp.html]
[MediaWiki : http://www.mediawiki.org/wiki/MediaWiki]
[FCKEditor : http://www.fckeditor.net/]

Posted by 구차니
Programming/C Win32 MFC2009. 1. 2. 11:20
array(행렬/배열)는 동일 타입의 변수를 나열한 것이다.
시작부분의 인덱스는 0이고 마지막 인덱스는 n - 1 이다.

즉, 행렬의 인덱스는 마이너스 값이 될 수 없다는 의미이다.

그런 이유로 array[idx] 에서 idx의 타입이 unsigned 형이 아니라면
이러한 경고를 출력해 주는 것이다.

[링크 : http://www.devolution.com/pipermail/sdl/2003-August/056006.html]
Posted by 구차니
개소리 왈왈2009. 1. 1. 15:09
원래 꿈을 잘 기억 못하는건지 안꾸는 건지는 모르겠지만,
아무튼 꿈을 잘 꾸지 못하는 체질(?) 인데 간만에 꿈을 꾸었다.

그런데 새해 첫날 부터 꿈이 왜 이따구지 ?!?!?




간단하게 요약 : 전화 받다가 전화기가 파직하는 소리가 나길래 터질꺼 같아서 던졌더니 터졌다.

'개소리 왈왈' 카테고리의 다른 글

칫솔님의 치약(응?)  (10) 2009.01.06
잉? 이거 뭥미?  (4) 2009.01.05
덤벼라 2009!!  (10) 2009.01.01
샨새교 산새교 tistory tisotry  (10) 2008.12.31
네이트온 피싱을 조심하세요  (0) 2008.12.27
Posted by 구차니
개소리 왈왈2009. 1. 1. 00:29
올해의 목표!!

1. 살빼기! 목표 -20kg
2. 무선설기기사 자격증 따기
3. AVR / 8051 중에 하나를 이용해서 간단한 로봇만들기
4. 토익 800 넘기기(유효기간 만료 저번 마지막 670)

원래 목표는 크게 잡는거임 ㅋㅋ


저의 블로그에 들러 주시는 모든 분들~~
"새해 복 많이 받으세요!!"






덧 1 : 새해에는 부디 MBLee.no.brain 바이러스의 치료제가 나오기를 기원합니다.

'개소리 왈왈' 카테고리의 다른 글

잉? 이거 뭥미?  (4) 2009.01.05
새해 첫 꿈  (8) 2009.01.01
샨새교 산새교 tistory tisotry  (10) 2008.12.31
네이트온 피싱을 조심하세요  (0) 2008.12.27
아니 왜 윈도우 / 리눅스 / 프로그램을 못 깔아?  (0) 2008.12.17
Posted by 구차니
개소리 왈왈2008. 12. 31. 00:48
이 죽일넘의 미칠듯한 오타 덕분에
내 단타 실력은 500을 넘어 가질 못한다 ㄱ-

프로글래머가 되면 원래 오타신이 강림하셔서 손떨림신과 동시에 온다고는 하지만
이건 좀 심하다 싶다. ㅠ.ㅠ


아무튼 곳곳에 글을 남기면서 왜 댓글 알리미에 안오나 고심했는데..
곳곳에 minimonk.tistory.com이 아니라 minimonk.tisotry.com 으로 남겼다


비러머글 OTL



잡솔 : 샨새교를 외웁시다!!! tistory 옥삼바리?!

잡솔2 : 헤드헌터에게서 메일이 날아 왔다.
그런데 놀란건, 내 이름과 메일을 어떻게 알았을까? 라는 점이다.

아무튼 헤드 헌터라고 하니까 이런 이미지가 떠올랐다.(잔인한!)
[출처 : http://www.ozanmora.com/gallery/Others/Head_Hunter.jpg]
Posted by 구차니
메모장을 대체 하기 위한 프로그램으로 notepad2 와 notepad++가 있다.

1. notepad2

2. notepad++


notepad++을 실행 만 시켜 봤는데, 상당히 화려하고, 먼가 기능이 매우 많아 보인다.
단순하게 용량을 비교 하자면 sourceforge notepad++ 프로젝트 에서 받은
최신 버전의 용량은 3.23MB (3,397,310 바이트)
그리고 압축이 해제된(ANSI/UNICODE 버전 두가지 포함)
디렉토리의 용량은 10.7MB (11,295,036 바이트) 이다.
그리고 실행하는데 시간이 약간 걸린다. 내 시스템에서 화면 나오는데 대략 1초 미만 정도로 추정된다.
[notepad++ 공식 : http://notepad-plus.sourceforge.net/uk/site.htm]

하지만 notepad2는
누르자 마자 실행이 되고, 용량은 한글판 최신 버전 기준 300KB 미만이다.
용량/속도 대비로는 notepad2가 상당히 우세하나, 눈에 보이는 기능이라던가 글꼴은 notepad++가 낫다.

메모장 대체라는 가벼운 용도라면 notepad2를
ultraedit 등의 에디터를 대체하는 용도라면 notepad++를 하는 것이 나을 듯 하다.
[notepad2 공식 : http://www.flos-freeware.ch/notepad2.html]
Posted by 구차니