Admin | Write | GuestBook
[공지] 해당 블로그에 용건이 있으신 분께서는 http://blog.fore.kr/ 의 방명록(Guestbook)으로 부탁드립니다.
빡침의 하루 ( ERROR_CANNOT_FIND_WND_CLASS )
Category : Programming/Programming Talk | URL : | Written by 포레 ( 2013. 4. 23. 22:14 ) | 신고

 

[ 문제의 코드 ] 

 

HWND WINAPI function(...){

 HWND hWnd;

 hWnd = CreateWindowExW( 0, L"SysLink",L"<A HREF=\"#\">Link Click</A>",WS_VISIBLE|WS_CHILD,X,Y,nWidth,nHeight,this->hWnd,(HMENU)nIdentNum,this->hInstance,NULL);

...

return hWnd;

}

 

 

SysLink 윈도우를 만드는데 . . . 아무리 만들어도 . . . 안된다 !

 

GetLastError() 로 확인해보니 ERROR_CANNOT_FIND_WND_CLASS 메시지를 뿜어됐던것이 사건의 시작.

 

3시간 가량을 헤매고 헤매어 검색해봤지만 . . .

 

아예 답변이 없거나 !

 

RegisterClass 가 선언되지 않았다 ! 라는 답변 뿐

 

윈도우 시스템 상 전역으로 처리된 SysLink 가 클래스로 정의되어있지 않을리 없다 -_- . . .

 

혹시나 싶어 InitCommonControls 이 선언되지 않아서 그런걸까 . . . 해서 !

 

해봤지만 역시 안된다 . . .

 

스팀찬다.

 

기본적으로 시스링크 같은 경우엔 확장형 컨트롤이라 가정하고 . . .

 

일반 컨트롤과 다르게 따로 뭔가 처리를 해줘야 한다면 . . .

 

에 도착한 결론은 . .

 

 

 #pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")

 

.

이 녀석 -_- ; 선언해주어야 하옵니다.

 

평소 배포용으로 만들 프로그램을 프로그래밍 할 땐, 윈도우 스킨이 맛깔나지 않아서 항상 선언해줘서

 

문제가 없었는데,  이번 프로그램 만들면서

 

" 어차피 내가 쓸거니까 상관없잖아 ~ " 하면서 발코딩하면서 생긴 문제.

 

MSDN을 읽어보니

 

"The SysLink control is defined in the ComCtl32.dll version 6, and it requires a manifest or directive that specifies that version 6 of the DLL should be used if it is available."

 

출처 : http://msdn.microsoft.com/en-us/library/windows/desktop/bb760706(v=vs.85).aspx

 

라 적혀있고 비쥬얼 스타일 키는 방식에 대해선

 

http://msdn.microsoft.com/en-us/library/windows/desktop/bb773175(v=vs.85).aspx

 

위와 같이 나와 있는데 결론은 메니페스트만 넣어주면 되는 결론이 나왔다. -_- ; ;

 

SysLink 외에 RichEdit 와 같은 확장형 컨트롤을 위하여 반드시 위 선언을 넣어주면 너무나 도움될거 같다.

 

Category
분류 전체보기 (605)
Notice (6)
Programming (79)
DISKER (1)
FSCH (7)
Caption (0)
Rest Time ! (443)
Hobby (64)
Tour (5)
Blind Post (0)
Recent Post
Recent Comment
Link
Calender
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today :
Yesterday :