Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2025/9 »
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

 
 
1. 소개

  Feature Pack은 2008 sp1부터 추가된 BCGSoft의 MFC확장 라이브러리이다.
office2007의 Ribbon UI가 포함되어 있어 출시전부터 기존 mfc코드처럼 office의 소스도 볼수 있는거 아닌가 하는 개발자들의 기대와는 다르게 상용 라이브러리를 사서 MFC에 확장형식으로 넣어버렸다. (당근 소스까지)

기존 MFC 사용라이브러리중에 CodeJock의 XTP를 더 선호하는 사람이 많아서 그런지 아쉬워 하는 사람도 많은 것 같다.

상용이 공짜가 됐다는 거에 일단 무조건 떙큐~!


M$도 욕좀 먹었나보다. 그래서 라이브러리들을 추가한건 좋은데 sp1에 추가된 Feature Pack이나 TR1이 전부 외부에서 사온거라고 하니 역시 눈가리고 아웅인가? ㅡ.ㅡ; 어쨌든 그래도 필자는 반갑다.


2. 준비

sp1을 먼저 깔고 프로젝트 생성시 _BIND_TO_CURRENT_VCLIBS_VERSION를 전처리기에 선언하면 sp1라이브러리를 사용하게 된다. 당연히 배포할때는 2008 sp1용 재배포패키지로 배포해야된다.

아래 sp1용 샘플코드가 있으니 받아서 참고할것.(Peature Pack 폴더)
Microsoft Visual C++ 2008 SP1 Sample Library

MSDN은 web에선 MFC Feature Pack for Visual C++ 2008 이곳을 참조하면 되며 로컬에선 sp1이 적용된 msdn을 설치해야된다. sp1을 설치할때 같이 설치하자.

3. 리본 UI 라이센스

이 UI를 사용하는 오피스의 5가지 제품의 경쟁제품이 아니어야 한다.("we don’t want to be in the position of having to compete against our own innovation and IP"라고 이유를 듭니다). 출처

Office UI Licensing

결론은 리본 UI를 쓰고 싶으신 분은 마음대로 쓰셔도 되지만 오피스 경쟁 제품 개발할 때는 쓰지말자.


4. 참고

Ribbon? Ribbon! - An Innovative User Interface 리본 UI에 대해 분석해주셨다.

[MFC]Visual C++ 2008 Feature Pack 예제 - VC++2008 Example Feature Pack예제 코드를 캡쳐해서 올려주셨다.



MFC Hierarchy Chart 9.0 (sp1적용, 화면이 짤리면 다운받거나 링크를 따라가서 보자.)

The three hierarchy charts in this topic include classes that were added to the MFC Library as part of the Visual C++ 2008 Feature Pack.

The following illustration represents the MFC classes derived from CObject:

MFC Classes Derived From CObject

The following illustration represents the MFC classes derived from CWnd and CCmdTarget:

MFC Classes Derived From CWnd or CCmdTarget

The following illustration represents the MFC classes not derived from CObject:

Bb982033.MFCnotderivedCObject(en-us,VS.90).png

You can download the complete chart from the following location: http://go.microsoft.com/fwlink/?LinkId=112301.



:

데이터 실행 방지란?

DEP(데이터 실행 방지)는 바이러스 및 다른 보안 위험으로부터 컴퓨터가 손상되는 것을 방지해 줄 수 있는 보안 기능입니다. 위험한 프로그램이 Windows 및 다른 공인 프로그램에 대해 예약된 시스템 메모리 위치에서 코드 실행을 시도하여 Windows 공격을 시도할 수 있습니다. 이러한 종류의 공격으로 인해 프로그램 및 파일이 손상될 수 있습니다.

DEP는 프로그램을 모니터링하여 프로그램이 시스템 메모리를 안전하게 사용하게 함으로써 컴퓨터를 보호합니다. DEP는 컴퓨터에서 메모리를 부적절하게 사용하는 프로그램을 감지하면 해당 프로그램을 닫고 사용자에게 알려 줍니다.


DEP(데이터 실행 방지) 설정 변경

DEP(데이터 실행 방지)는 프로그램을 모니터링하여 프로그램이 시스템 메모리를 안전하게 사용하게 함으로써 바이러스 및 다른 보안 위험으로부터의 손상을 방지해 주는 보안 기능입니다.

모 든 프로그램을 보호하도록 선택한 경우에도 개별 프로그램에 대해 DEP를 해제할 수 있습니다. DEP 기능을 설정했을 때 프로그램이 올바르게 실행되지 않는 것으로 의심되는 경우 DEP 설정을 변경하기 전에 소프트웨어 게시자에게 프로그램의 DEP 호환 버전이나 업데이트가 있는지 확인하십시오.

  1. 시스템을 클릭하여 엽니다.

  2. 고급 시스템 설정을 클릭합니다. 관리자 관리자 암호나 확인을 묻는 메시지가 표시되면 암호를 입력하거나 확인을 제공합니다.

  3. 성능에서 설정을 클릭합니다.

  4. 데이터 실행 방지 탭을 클릭한 다음 데이터 실행 방지(DEP)를 사용자가 직접 선택한 항목을 제외한 모든 프로그램 및 서비스에 사용을 클릭합니다

시작>모든 프로그램>명령 프로포트(관리자 계정으로실행)
Bcdedit.exe /set {current} nx AlwayOff 끄기

Bcdedit.exe /set {current} nx OptIn 기본 값으로

// 포스와치 예제에서 쓰인 소스!

BOOL DisableDEP()
{
 HMODULE hMod = GetModuleHandleW(L"Kernel32.dll");
 typedef BOOL (WINAPI *PSETDEP) (DWORD);
 PSETDEP procSet;

 if (hMod)
 {
  procSet = (PSETDEP) GetProcAddress(hMod, "SetProcessDEPPolicy");
  if (procSet)
   return procSet(0);
 }

 return FALSE;
}

BOOL CPWMonitorApp::InitInstance()
{
 DisableDEP();
}
:

도로공사에서 비스타 노트북에서 영상 전송시 소켓이 딱 막히는(마치 화면에 UAC가 뜬것처럼;)
현상일때 적용해 봤는데 안되더라.. 결국은 VC6플젝을 2005로 컴파일만 했는데 잘돌아가긴 했는데..


아래방법은 윈도우 비스타 네트웍에서 대용량 파일 전송에 문제가 있을 경우 적용해 볼것.


http://surewin.kr/vista/4178

원문

http://www.mydigitallife.info


TCP/IP Connection Limit 패치하기

  1. Windows Vista에는 Windows XP SP2에 적용한 것과 같은 시스템의 초당 최대 연속 half-open (incomplete) outbound TCP 연결 시도 회수 제한을 tcpip.sys의 암호화 코딩으로 강제로 사용하고 있음이 명백합니다.

  2. 이 제한 사항은 XP의 오리지널이나 SP1에는 없었던 제약으로 SP2에만 적용되고 있으며, 이는 감염되지 않은 컴퓨터들에 대한 감염 확대를 위한 악의적인 프로그램들 예를 들면, 바이러스, 웜 등과 distributed denial of service attack (DDoS)의 실행을 방지하자는 목적에서 출발한 것입니다.

  3. 이 제한에 도달(hit)하면 Event Viewer에는 아래와 같은 엔트리가 기록되게 됩니다.

  4. EventID 4226: TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts

  5. Windows XP SP2에서는 초당 최대 10의 동시다발 half-open (incomplete) 연결 시도 제한이 있지만, Vista에서는 사용자가 사용 중인 Vista의 에디션에 의해 달라지며, 예를 들면, Home Basic은 최대 2, Vista Ultimate는 초당 25회의 제한이 있습니다.

  6. 좌우지간에 Windows Vista 사용자들은 이 half-open connections limit로 인해 네트워크 연결의 속도 저하나 다른 문제에 직면치 않아야 합니다.

  7. 그 러나, 이 제한으로 인하여 P2P(peer-to-peer) 사용자, 예를 들면 uTorrent, BitTorrent, BitComet, Azureus, ABC, eMule(eDonkey network)나 P2PTV 사용자, 예를 들면 TVants, PPLive, PPStream, Sopcast 등의 사용자는 어떤 오류 발생이나 업로드와 다운로드의 속도 저하가 일어납니다.

  8. Vista의 보안 강화로 인하여 Windows XP에서와 같이 TCP의 concurrent connection limit의 Fix나 Crack은 쉽지 않습니다.

  9. Vista의 Maximum concurrent half-open connection limits의 제거를 위한, 패치된 tcpip.sys의 적용을 위하여 아래 순서로 작업합니다.

    1. 필요한 파일을 아래 링크의 적당한 곳에서 다운로드합니다.

    2. 64-bit tcpip.sys

      32-bit tcpip.sys

      32-bit

      64-bit
       

    3. 명령 프롬프트를 열어 아래 2개의 명령을 실행합니다.

    4. takeown /f c:windowssystem32driverstcpip.sys

      cacls c:windowssystem32driverstcpip.sys /G “username”:F
       

    5. 위 명령의 실행 시는 Vista에 로그온한 사용자 이름으로 명령줄의 'username'을 대체하여야 합니다.

    6. 다음 명령을 실행합니다.

    7. icacls c:WindowsSystem32driverstcpip.sys /grant “username”:f

    8. 다음 명령으로 TCP/IP Auto-Tuning의 기능을 죽입니다.

    9. netsh int tcp set global autotuninglevel=disable

    10. 64-bit Windows Vista (x64)에서는 integrity checks를 Disable하기 위하여 DOS 프롬프트에서 아래 명령을 실행합니다.

    11. bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

    12. 사용자가 사용 중인 Vista의 종별을 잘 구분하여 다운로드한 패치된 tcpip.sys를 C:windowssystem32drivers 폴더에 복사하여 대체합니다.

    13. 위 과정은 관리자 계정으로 로그인하였다면 쉽게 됩니다만, 실패하였다면 재시작하여 F8 키로 안전 모드로 진입하여 Copy-Paste합니다.

    14. 다음 단계로 레지스트리 편집기를 열어 최대 TCP half complete connection limit에 관한 설정을 수정합니다. 아래 분기점을 찾습니다.

    15. HKEY_LOCALL_MACHINESYSTEMCurrentControlSet
      ServicesTcpipParameters

    16. 우측 패널의 빈 곳을 클릭하여 새로 만들기-“DWORD value”로 아래 값이름을 만듭니다.

    17. TcpNumConnections

    18. 'TcpNumConnections' 레지스트리 값을 수정키 위해 더블클릭하여 사용자가 원하는 최대 TCP/IP connection limit 값을 10진수로 예를 들면, '500'을 타자 후 엔터 키를 누릅니다.

    19. 위 과정 중 최대 TCP/IP connection limit 값을 '16777214'(항시 수정 가능)로 레지스트리에 병합하는 파일을 아래 링크에서 다운로드할 수 있습니다.

    20. registry registration file

      another download link
       

    21. 시스템을 재시작합니다.

 

새로운 방법 : Windows Vista Event ID 4226 Auto Patcher

  1. 다운로드한 파일을 압축 해제하여 InstallPatch32.bat (for x86)나 InstallPatch64.bat (for x64)를 실행합니다.

  2. 'UndoPatch.bat'는 실행 이전으로 되돌리는 배치 파일입니다.

  3. Latest Version: 1.5

    Download Link 1

    Download Link 2

: