본문 바로가기

전체 글205

마이크로소프트 데브데이 2008 개최 한국 마이크로소프트에서 마이크로소프트 데브데이 2008이라는 컨퍼런스를 개최한다고 한다. 올해로 11주년이라는데 올해 처음으로 온라인(http://www.microsoft.com/korea/devdays2008)으로 개최한다고 한다. 당연하다고 생각되긴 하지만 세션은 주로 웹 2.0에 관련된 WPF, Silverlight, .NET 프레임워크에 대한 내용이고 현재 베타 버전인 IE8을 소개하는 세션도 있다. C++나 Visual Studio 2010에 관한 세션이 없는 것이 아쉽다. 기간은 12월말까지라고 하니 시간 나면 한 번 둘러 봐야 겠다. 2008. 12. 3.
인터넷 연결 상태 확인하기 현재 PC의 인터넷 연결 상태를 알아 보는 가장 확실한 방법은 실제 서버에 연결해보는 것이지만 서버 상태에 따라 계속 연결이 안 될 수도 있고 타임아웃 처리도 어려울 수 있기 때문에 먼저 간단히 인터넷 연결 상태 확인이 필요한 경우가 있다. 그런 경우에는 InternetGetConnectedState() 함수를 이용해서 인터넷 연결 상태를 확인하고 실제 서버에 연결해보는 것이 가장 간단한 해결 방법이다. #include ... DWORD flags; if (InternetGetConnectedState(&flags, 0) && (flags & (INTERNET_CONNECTION_LAN | INTERNET_CONNECTION_MODEM))) { Sleep(100); ... } InternetGetConn.. 2008. 11. 27.
안철수연구소 무료백신 'V3 라이트' 공개 안철수연구소에서 새로운 무료백신 'V3 라이트'를 공개하고 25일부터 오픈베타서비스를 시작한다고 한다. 기존의 빛자루 서비스는 종료되고 'V3 라이트'가 대신하게 된다. 아직 써보진 않았지만 당연히 빛자루보다는 나아졌으리라 생각한다. V3가 우리나라 백신의 대표주자이긴 하지만 현재 상태는 썩 좋아보이진 않는다. 무료백신 시장이 활성화되기 시작할 때 뒤늦게 무료로 백신을 배포하는 것에 불만을 토로하며 참가했었는데 지금도 같은 입장인지 궁금하다. 그리고 얼마 전에 Windows XP SP3에서 V3가 오진해서 시스템을 날려 먹을 뻔 했던 안 좋은 기억이 자꾸만 나는 것은 어쩔 수가 없다. 만약 날려 먹었더라면 영원히 용서할 수 없었을 듯... ㅡㅡ;;; 기사원문검색 http://search.daum.net/.. 2008. 11. 25.
Subverison을 위한 Windows Tools Windows 개발에서 Subversion을 이용하고자 할 때 유용할 만한 툴을 두가지 소개한다. TortoiseSVN도 많이 사용되지만 아마도 대부분 알테니 넘어가겠다. VisualSVN Server 원래 VisualSVN이라는 Visual Studio에서 Subverison을 사용하기 위한 플러그인을 개발하던 곳에서 만든 Subverison server 설치용 패키지이다. 설치하게 되면 Management Console을 제공해서 굳이 텍스트 파일로된 설정 파일들을 건드리지 않아도 쉽게 Subversion server를 관리할 수 있다. VisualSVN은 유료지만 VisualSVN Server는 무료로 제공하고 있으니 간단하게 Subversion server를 사용하고자 한다면 추천한다. AnkhS.. 2008. 11. 21.
Windows Vista IE8(베타)의 LCIE IE8부터 새롭게 Loosely-Coupled IE (LCIE)라는 것이 기능이 생겼다. IE7에서는 보호 모드 때문에 IE를 실행하면 IE가 바로 실행되는 것이 아니라 ieuser.exe라는 프로세스가 생성되고 낮은 무결성 상태의 iexplore.exe를 실행하게 된다. 아래 그림처럼. 그래서 http://still.tistory.com/10 에서 처럼 프로그램에서 IE를 실행할 때 IWebBrowser2를 얻으려면 약간의 수고가 필요하다. 그런데 이게 IE8에서 아래처럼 바뀐다고 한다. 즉, iexplore.exe 프로세스가 탭과 Extensions 별로 각각의 프로세스를 생성해서 동작하는 형태이다. 덕분에 위의 이상한 방법이 필요 없어졌다. 그냥 CoCreateInstance()로 생성하면 된다. .. 2008. 11. 19.
무료 이미지, 파일 호스팅 간단히 쓸 수 있는 무료 이미지, 파일 호스팅 서비스 들입니다. http://www.imagehost.org/ 용량, 트래픽, 대역폭 무제한, 최대 파일 크기 100MB, 해외 사이트 http://www.datafilehost.com/ 용량, 트래픽, 대역폭 무제한, 최대 파일 크기 25MB, 30일 동안 다운로드 없을 시 삭제, 해외 사이트 http://www.fileave.com/ 가입 필요, 서브 도메인 제공, 용량 30MB, 직접 링크 가능, 트래픽 월 1GB, 해외 사이트, 속도 빠름 http://www.fileslink.com/ 용량, 트래픽, 대역폭 무제한, 이미지, 플래시 지원, 최대 파일 크기 3MB, 100일 후 삭제 http://www.mediafire.com/ 용량, 트래픽, 대역폭.. 2008. 10. 3.
Visual C++ 2005 CRT DLL 버전 충돌 문제 VS2005 CRT DLL(msvcp80.dll, msvcr80.dll)을 사용하는 COM 모듈을 개발할 때 설치 대상 PC에 .NET 2.0 SP1이나 .NET 3.0 SP1이 설치되어 있는 경우 COM 등록 시에 로드하는 CRT DLL 버전 8.0.50727.762를 side by side assemblies 기능에서 자동으로 8.0.50727.1433으로 리다이렉트해준다. 문제는 1433 버전으로 작동하는 경우 COM 등록이 안 되는 등의 에러가 발생한다. Isolated COM이나 Per-application Configuration(Windows XP, Windows Vista)으로도 해결할 수 있지만 가장 간단한 방법은 Private Assemblies로 항상 762 버전을 사용하도록 하는 것.. 2008. 9. 30.
Windows XP SP3 다운로드 연기 MSDN에서 Windows XP SP3를 다운받아 설치한지 5일 정도 되었다. 나름 속도나 안정성 면에서 만족스러워 하고 있었는데 최근 뉴스에서 마이크로소프트가 Windows XP SP3에 대한 일반 사용자 배포를 연기했다고 한다. 이유는 마이크로소프트 다이내믹스 리테일 매니지먼트 시스템과 호환성 문제가 있다고 한다. 사실 마이크로소프트 다이내믹스 리테일 매니지먼트 시스템이 기업용 솔루션이라고 하는데 정확히 뭔지는 잘 모르겠고 현재 PC 사용에는 아무런 지장도 없긴 하지만 이런 문제가 터지는 걸 보니 이미 SP3를 설치한 사람으로서 마음이 편하지 않다. 빨리 해결되어 안심하고 사용할 수 있었으면 좋겠다. ps. 5월 7일부터 다시 SP3의 다운로드 서비스를 제공하고 있습니다. SP3 자체는 이전에 제공하.. 2008. 4. 30.
사용자 권한 ActiveX 컨트롤 설치 사용자 권한 ActiveX 컨트롤 설치(Non-admin ActiveX control installation)IE8부터 Windows Vista에서 관리자 권한이 없는 사용자가 UAC 프롬프트 없이 ActiveX 설치가 가능하도록 변경되었다. 이 기능을 사용하려면 ActiveX 컨트롤 자체를 변경하지 않고 기존 ActiveX 컨트롤을 약간 변경된 방법으로 패키징해주기만 하면 된다. 사용자 권한으로 설치가 되기 때문에 전체 시스템에는 영향을 미치지 않으면서 필요한 ActiveX 컨트롤의 기능을 사용할 수 있다는 장점이 있다. 관리자 권한이 있는 사용자는 현재 사용자 환경에만 설치할 것인지 전체 사용자 환경(관리자 권한)에 설치할 것인지 선택할 수도 있다. 이 기능은 당연히 Windows Vista에서만 사.. 2008. 3. 14.
스타크래프트2 저그 종족 공개 3월 10일 우리나라에서 최초로 공개했다고 합니다. 전에 스타할 때 주로 저그로 플레이했었는데 멋지네요. ^^ 2008. 3. 10.
크리티컬 섹션을 이용한 스레드 동기화 다중 스레드 환경의 프로그램에서 여러 스레드 사이에서 공유하는 리소스를 사용한다면 반드시 스레드 간 동기화를 해줘야 한다. Windows 환경이라면 스레드 동기화를 위해서 가장 많이 사용하는 동기화 방법은 크리티컬 섹션일 것이다. // 크리티컬 섹션 변수 CRITICAL_SECTION cs; // 크리티컬 섹션 초기화 InitializeCriticalSection(&cs); // 공유 리소스를 사용하는 스레드 사용 ... // 모든 스레드가 종료된 후 크리티컬 섹션 삭제 DeleteCriticalSection(&cs) DWORD WINAPI ThreadProc(LPVOID pParam) { ... // 크리티컬 섹션 소유권 가져오기 EnterCriticalSection(&cs); // 공유 리소스에 접근.. 2007. 12. 18.
실행 중인 IE창 모두 닫기 현재 실행 중인 IE창을 모두 닫습니다. BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) { TCHAR szClassName[256]; if (GetClassName(hWnd, szClassName, 256) > 0) { if (_tcsicmp(szClassName, _T("IEFrame")) == 0) PostMessage(hWnd, WM_CLOSE, 0, 0); } return TRUE; } ... EnumWindows(EnumWindowsProc, 0); ... 2007. 12. 14.