2014-10-03 2 views
-2

this technique을 사용하여 메모리에서 GUI 응용 프로그램으로 콘솔 프로그램을 시작합니다. 또한 문서화되지 않은 si.lpReserved2 및 si.cbReserved2 사용을 통해 콘솔 프로그램에 GUI의 일부 데이터를 described here으로 제공합니다. WinXP에서 VS2010으로 컴파일 된 모든 것이 Windows XP 7 및 8에서 잘 작동합니다.Windows8에서 si.lpReserved2를 사용하는 방법 VS2013?

VS2013이 나오면 위의 매개 변수를 처리하는 방법이 변경되었습니다. nil과 0으로 설정하면 Windows 8 등에서 작동합니다. 이전과 같이 사용하려고하면 콘솔 프로그램이 AppCrash 팝업 메시지와 함께 중지됩니다. Windows XP에서만 Windows XP와 Windows 7에서 여전히 작동합니다.

si.lpReserved2에서 VS2013이 변경되었으며 Windows 8에서 VS2013을 계속 사용할 수 있습니까? 그것은

+4

여기 아무 것도 매우 합법적 인 것으로 들리지 않습니다. 명령 행 인수를 사용하십시오. CreateProcess를 호출하여 프로세스를 생성합니다. 모든 규칙을 어기면 어떻게 될 것으로 예상됩니까? –

+1

이 기술을 사용하면 어떤 이점이 있는지 궁금합니다. –

+1

공식 문서를 무시하면 동일한 컴퓨터 및 다른 컴퓨터에있는 자신의 소프트웨어 및 다른 소프트웨어를 버그가 있으며 느리게 만들 수있는 좋은 방법입니다. –

답변

2

문서는 말한다 .. 아주 합법적 인 목적을 위해, 정말 편리합니다 :

cbReserved2

C 런타임에 의해 사용을 위해 예약; 0이어야합니다.

lpReserved2

C 런타임 용으로 예약; NULL이어야합니다.

이것은 더 명확하지 않을 수 있습니다.

새 프로세스에 인수를 전달하려면 명령 줄을 사용하십시오.