CopyFile() API를 사용하여 하드 디스크에서 플로피 드라이브로 파일을 복사하는 응용 프로그램을 만들었습니다. 큰 파일의 복사 프로세스 도중에 플로피가 드라이브에서 제거되면 시스템 팝업창에 오류 메시지가 나타납니다.Windows 시스템 메시지를 표시하지 않는 방법
시스템에서 팝업되는이 오류 메시지를 표시하지 않으려합니다. 내가 봤 거든 SetErrorMode() API를 사용하여 비슷한 문제를 해결하기 위해 많은 응용 프로그램에서 사용하고 가능한 모든 플래그 옵션을 사용하여 시도했지만 실패합니다. 샘플 코드 -
UINT uOldErrorMode = SetErrorMode (SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); :: CopyFile ("C : \ text.dat", "A : \ text.dat", FALSE); SetErrorMode (uOldErrorMode);
SetErrorMode() API는 오류 메시지를 표시하지 못합니다. 누군가 내 응용 프로그램과 함께 작동하지 않는 이유를 이해하는데 도움을 줄 수 있습니까? 값이 0, 1 또는 2로 설정 될 수있다 억제하는 제어 \ WINDOWS \ ErrorMode
\ CURRENTCONTROLSET \ 키
HKEY_LOCAL_MACHINE을 \ 시스템에 대해 이야기 http://support.microsoft.com/kb/128642 :
나는 다음 아래 링크를 통해 온 또는 오류 메시지를 표시하십시오. 이 솔루션은 내 응용 프로그램에서 작동하지만 나는 느낀다.
a. 시스템 키에 직접 액세스하는 것은 좋은 프로그래밍 습관이 아닙니까? 이 작업을 수행하는 API가 있어야합니다. b. 이러한 코드는 Windows Vista 또는 Windows 7에서 실행될 때 UAC에서 실패합니다.
위의 문제에 대한 도움을받을 수있는 사람이 있습니까?
감사합니다, 펠릭스