노무현 전 대통령 서거 - 삼가 고인의 명복을 빕니다


'Development'에 해당되는 글 7건

  1. 2010/03/26 How to close session when closing modeless CDHtmlDialog
  2. 2010/03/25 XMPP over BOSH
  3. 2009/12/09 안전하게 프로세스 종료하는 방법
  4. 2009/12/04 PCHelpWare DLL 로드 오류 관련 해결책
  5. 2009/12/03 How to sign an ActiveX control with cert file
  6. 2008/05/15 MSDN Magazine May, 2008
  7. 2007/05/14 C++용 code static analysis tool 구해요~ (1)
2010/03/26 01:23

How to close session when closing modeless CDHtmlDialog

CDHtmlDialog에서 상속받은 클래스에서 Navigate() method를 통해 웹 사이트에 접속한 후
modeless dialog를 닫을 때, dialog는 닫히지만 실제로 세션은 닫히지 않는다.
(내장된 웹브라우저 컨트롤의 instance가 해제되지 않는다.)

이 경우, 아래와 같이 처리해야 한다.

CDHtmlDialog_Derived::PostNcDestroy()
{
    delete this;
    CDHtmlDialog::PostNcDestroy();
}

CDHtmlDialog_Derived::OnClose()
{
    DestroyModeless();
    return;
}
위와 같이 할 경우 dialog가 닫힐 때 세션이 정리된다.
저작자 표시
Trackback 0 Comment 0
2010/03/25 23:28

XMPP over BOSH

강한 네트워크 보안 정책을 운용하는 환경에 속해 있을 경우,
일부 허용된 포트 (주로 http / https)만 접근이 가능하다.

이런 환경에서 TCP 5222 포트로 서비스하고 있는 XMPP 서버에 접근할 수 없을 경우,
HTTP 프로토콜의 payload에 XMPP 패킷을 올려서 (wrapping) 사용할 수 있다. (아래 참조)

XMPP over BOSH payload



○ 관련 프로토콜 명세: http://xmpp.org/extensions/xep-0124.html

※ 아직 조사가 더 필요하지만, synchronous XMPP 프로토콜 구현이 가능할 경우, 활용 가치가 매우 높다.
저작자 표시 비영리 변경 금지
Trackback 0 Comment 0
2009/12/09 11:11

안전하게 프로세스 종료하는 방법

일반적으로 프로세스를 종료하는 방법은 다음과 같다.

  1. ::FindWindow() 함수를 이용해 HWND 검색
  2. 해당 HWND가 유효한지 확인한 후 WM_CLOSE 메시지 전송

하지만, 위의 방법을 사용할 수 없거나 (ex. 윈도우가 없는 콘솔 어플리케이션),
즉시 프로세스를 종료해야 할 경우 프로세스 핸들을 얻은 후에 ::TerminateProcess() 함수를 이용한다.

그런데, TerminateProcess 함수를 사용할 경우, 강제 종료되는 프로세스가 사용하던 리소스에 대한 처리가 제대로 이루어지지 않는 문제가 있다.

그래서 사용할 수 있는 대안이, 해당 프로세스에 대해 Remote thread를 실행해서
ExitProcess 함수를 호출해주는 것.

자세한 내용은 아래 링크 참조.
Dr. Dobb's Journal - A Safer Anternative to TerminateProcess()
http://www.ddj.com/windows/184416547


Trackback 0 Comment 0
2009/12/04 01:33

PCHelpWare DLL 로드 오류 관련 해결책

http://forum.ultravnc.info/viewtopic.php?p=45372

결론은, DEP때문에 1SCDLL.dll이 제대로 동작하지 않는다는 것.
해결책은 아래 참조.

The solution that GF posted worked for me. Here is what I did. 

1. Right Click on My Computer > Properties > Advanced > Performance > Settings > Data Execution Prevention Tab 

2. Check: Turn on DEP for essential Windows programs and services only 

3. Reboot 
Trackback 0 Comment 0
2009/12/03 16:06

How to sign an ActiveX control with cert file


아래 링크 참조...

나이를 먹으니 까먹는 게 많아서..

http://www.certkorea.co.kr/doc.asp?g_dev_guisign
Trackback 0 Comment 0
2008/05/15 20:58

MSDN Magazine May, 2008

MSDN Magazine May, 2008 나왔네..

http://msdn.microsoft.com/ko-kr/magazine/cc507662.aspx

Trackback 0 Comment 0
2007/05/14 13:45

C++용 code static analysis tool 구해요~

C++용 code static analysis tool을 찾아봤는데, C++용은 아무리 찾아봐도 없네.
일단 C용 open source lint tool은 SPLint(http://www.splint.org)를 이용하면 될 것이고,
C++용은 Gimpel software에서 나온 PC-Lint(http://www.gimpel.com/html/pcl.htm) 이 녀석밖에 없는데, 값이 $239랜다.

회사에 사달래야지. 큭큭.
Trackback 0 Comment 1