2010. 3. 2. 11:26
VC6 으로 만들어진 소스를 영문화 시켜 해외에 내보낼 일이 생겼어요.
그래서 영문 리소스를 한짝씩 더 만들고 소스에 박혀있던 문자열을 죄다 String Table에 박는 노가다를 끝낸 후 SetThreadLocale로 언어를 바꾸고 실행했는데.... 안먹히잖아!
이게 뭐야! 하고 찾아봤더니 Vista 이상부터는 안먹는다네요..
그래서 XP나 Vista 이상에서도 돌수있도록 다음과 같이 적절하게 만들어쓰면되요.

// Vista 이상부터는 SetThreadLocale로 사용자가 직접 언어를 선택하는걸 허용하지 않는다.

// 이 함수는 XP 는 SetThreadLocale을 쓰고 Vista 이상은 SetThreadUILanguage를 부른다.

// 하지만 되도록 이걸 쓰지말고 dll로 리소스를 분리하는게 좋을듯...

bool SetThreadLocaleEx(LCID lcLocale)

{

OSVERSIONINFO osVersion;

osVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

if (::GetVersionEx(&osVersion) == FALSE)

{

return false;

}


if (osVersion.dwMajorVersion == 6)

{   // >= Windows Vista

HINSTANCE hKernelDll = ::LoadLibrary(_T("kernel32.dll"));  

if (hKernelDll == NULL)

{

return false;

}

unsigned (WINAPI* SetThreadUILanguage)(LANGID) = (unsigned (WINAPI* )(LANGID))::GetProcAddress(hKernelDll, "SetThreadUILanguage");

if (SetThreadUILanguage == NULL)

{

return false;

}

LANGID resLangID = SetThreadUILanguage(static_cast<LANGID>(lcLocale));

return (resLangID == LOWORD(lcLocale));

}

else // <= Windows XP

{

return ::SetThreadLocale(lcLocale) ? true : false;

}

}

 
아 귀찮아요 [...]
Posted by envi
2010. 3. 1. 23:54

"이보시오 아르젠타 양반 그게 무슨 소리요!! 내가 고ㅈ...아니.. 내가 노예라니!! 내가 노예라니!!!"


연휴동안 은근은근 레벨업을 해서 레벨 18이 되어버렸어요.
이때까지 하면서 느끼는건데.. 포스유저는 정말 포스잉여라고 불리는게 사실인거같아요.
스킬이 몇개뺴고는 몬스터를 다 흐트려놓는 이산가족양성형(?) 폭발 스킬이에요! (사실 몬스터 한가운데 안쓰고 옆구리나 벽쪽에 잘쓰면 되긴해요.)
그래서 그런지 저번엔 파티에 들어갔는데 '아... 뭐야..' 하면서 쫒아내기까지 했어요!!

....흑흑... 그건그렇고 게임만 하다가 연휴가 끝나다니 더 슬프네요 orz...
Posted by envi
2010. 2. 27. 02:34

드디어 밀린 애니를 볼 수 있어 기쁜 enviress.


매일 밤 쌈박질사냥 끝에 드디어 전직을 해버렸어요.

근데 스킬 트리보니 앞이 깜깜하네요 orz...
Posted by envi
2010. 2. 25. 01:57

Lv13 달성! 일일 피로도 다 쓰는 것도 힘들다 ;ㅁ;
Posted by envi
2010. 2. 24. 02:24

일요일 -> Lv8
월요일 -> Lv10
화요일 -> Lv11

날마다 조금씩 커가는 엔비의 소서리스!
하지만 레벨 올라가니 점점 레벨업 하기 힘들어지는 드래곤 네스트.. ;ㅁ;
하루에 레벨 1씩 올려서 주말엔 꼭 전직할꺼에요!

P.S: 토요일까지 주간피로도 다 쓸수있을까? [...]
Posted by envi
2010. 2. 21. 02:32

노동착취 당하는 강아지들(?!)



오랜만에 온라인 게임을 시작했어요.
광부마비노기 이후로 오랜만에 게임을 하니 어질어질 하네요.
피로도 시스템이 있으니 시간을 많이 안잡아먹을줄 알았는데 일일 피로도로 은근 길어서 걱정이에요 ㅜ.ㅜ (안그래도 잉여인간인데 ㅜ.ㅜ 공부는 언제하나)

P.S: 아처 키우다가 이건 왠지 아닌거 같아서 소서리스로 다시 키우고 있습니다. 제레인트 서버의 enviress 라는 이름의 소서리스를 발견하면 관심좀...
Posted by envi
2010. 1. 15. 11:33
버그로 추정되는 현상이 발견되어 제게 "안되잖아?!" 하고 보고가 날아와 어제 하루종일 환경 세팅하면서 삽질(아래 포스팅이 삽질중 하나)하고 난리치면서 뭐가 문제인지 확인했습니다...

근데.. 결론은 다른 프로그램 문제였다는거.... 엉엉엉 내 시간 돌려줘 orz..
Posted by envi
2010. 1. 15. 10:15
ODBC 관리자로 MS Access Driver 를 이용해서 mdb 파일을 연결하려고 했습니다.
윈도우 7 x64 에서 XP 에서 했던 기억을 더듬어서 추가하려고 했는데.. 드라이버 목록에 SQL Server 와 SQL Native Client 밖에 목록에 없네요..
아.. 뭐 되는게 없네.. 좌절하고 딴짓좀 하다가 문득 생각난게..

"아.. 64bit라 그런가?" 하고 찾아봤더니  32bit ODBC 관리자를 실행하면 되는거랩니다.

실행 -> "c:\windows\syswow64\odbcad32.exe" 로 실행하면 목록에 보일겁니다.


출처: https://msmvps.com/blogs/spywaresucks/archive/2007/05/11/897398.aspx
Posted by envi
2009. 10. 26. 10:40
다음은 어제 저녁의 풍경이다(?)

책장이 꽉차 책상에 쌓여있는 책들을 보시며 어머니께서 한마디를 하려고 하신다.

나: '어!! 안돼.. 어머니께서 해선 안될 말을 하려고 하신다!!'
어머니: "아들아 이 책은 다 읽긴 하는거니?"
나: "(헉..)....이..읽을꺼에요.. 원래 전공 도서란게 어쩌고 저쩌고"...

라며 변명을 해댔는데.....요즘 책읽는걸 소홀히 했더니 못읽은 책들이 쌓여간다.. 하지만 오늘도 난 책을 질러버렸다!! 아마 나는 '책'을 게임 상의 아이템처럼 가지고만 있어도 능력치가 오르는 만능 아이템으로 착각하는 있는 것 같다 [...]
Posted by envi
2009. 8. 31. 18:33
GetFolderPath() 시 에러나는 현상이 발생했습니다.

제 컴에(Vista)선 에러가 안나는데 다른 컴(XP)에선 에러가 나길래 당황했으나..

GetFolderPath() 소스를 보니 Vista 일 경우와 XP 일 경우 분기가 나뉘는걸 보고 MSDN을 뒤져봤습니다.
그리고 MSDN 은 이렇게 말합니다.
You can call this method only while the dialog box is being displayed. After the dialog box has been closed, this function will no longer work, and the method will fail with an assertion.

GetFolderPath() .DoModal() 로 Dialog 가 띄어져있는 상태에서만 쓰는거였습니다!!! 으알마랒ㅁ루짛@$%@#$%

GetPathName 으로 fullpath 를 얻어와서 적절하게 나눕시다. [...]

P.S: MSDN에도 저렇게 명시되어 있는데 왜 Vista 는 닫은 Dialog 정보를 갖고있다가 GetFolderPath를 에러없이 반환해준다. 왜일까?..
Posted by envi