컴퓨터와 잡동사니 자료

d3d9 Change (Win10 d3d9.dll 파일 간편 교체 프로그램)

K66Google 2017. 2. 2. 10:09


 

* 알림

만약 본인 컴퓨터가 윈도우10 1809 이상이면서 지포스 드라이버 버전이 411.70 이후라면 드라이버를 다운그레이드 하지 않고 이 프로그램을 통해 d3d9.dll을 교체할 시 게임이 실행되지 않습니다. dgVoodoo2 등의 다른 방법을 찾아보시기 바랍니다. (라데온이나 인텔 내장은 상관없음)

관련 내용은 https://k66google.tistory.com/588 를 참조하세요.



윈도우10 RS1 이후의 d3d9.dll 때문에 발생하는 두 가지 문제때문에, 그냥 간편 교체 프로그램을 만들었다.

VB6으로 제작.


d3d9 change (19H1).7z

(실행 + 필수 파일만 있는 버전)


d3d9 change Source (19H1).7z

(소스까지 포함된 버전)


※ 프로그램 설명

d3d9 Change.exe 를 관리자 권한으로 실행하고 d3d9.dll 버전 (TH1 ~ 19H1) 을 선택하여 교체하면 된다.

처음 교체할때는 권한 획득이 필요한데, 19H1 업데이트 이후 '자동 권한 획득' 기능을 지원하니까 이 기능을 사용하면 된다. (프로그램이 관리자 권한으로 실행 중이어야 작동됨)


권한 획득 기법에 대해서는 동봉 txt 파일이나 아래 단락을 참조.



※ 업데이트 내역

2019.10.29 (19H1 버전)

- 자동 권한 획득 기능 추가. (반드시 관리자 권한 실행 필요)

- 프로그램 실행 시 관리자 권한으로 실행할 것을 요구하는 메시지 출력.

- 런타임 오류 70, 75 발생 시 강제종료 되지 않고 안내 메시지가 나오도록 수정.



※ 구버전

d3d9 change (RS4).7z

d3d9 change Source (RS4).7z

d3d9 change Source (RS3).7z




※ 권한 획득 기법 (수동 권한 취득)

1. '명령 프롬프트 (관리자)' 실행 (반드시 '관리자' 모드로 실행해야 함!)


2. 다음과 같이 명령어 입력. (32bit는 SysWOW64를 System32로 바꿀 것.)

takeown /f "C:\Windows\SysWOW64\d3d9.dll"


3. 위 명령어 입력 후 '성공: 이제 파일 또는 폴더...' 라는 문구가 나오면 다시 아래 명령어 입력. (32bit는 SysWOW64를 System32로 바꿀 것.)

icacls C:\Windows\SysWOW64\d3d9.dll /grant Users:F


4. 위 명령어 입력 후 '1 파일을 처리했으며...' 라는 문구가 나오면 명령 프롬프트 종료.


(이상 1~4 까지의 진행 과정이 '자동 권한 획득' 기능으로 통합)


5. '관리자 권한으로' 프로그램 실행 후 버전에 맞게 d3d9 파일을 교체.




※ 오류번호 70 (Permission denied) 으로 교체가 되지 않는 경우

그 경우는 다음과 같은 상황에서 발생할 수 있다.

1. 프로그램을 관리자 권한으로 실행하지 않아서.
- 이러면 그냥 프로그램을 다시 켜면 된다.

2. Google Chrome 같은 d3d9.dll 을 사용하고 있는 다른 프로그램이 있어서

- d3d9.dll을 사용하는 다른 프로그램을 쉽게 찾으려면 Process Explorer 라는 프로그램을 구한 뒤 검색(Ctrl + F) 기능으로 d3d9.dll 을 검색해보면 된다. 그러면 현재 d3d9를 사용하는 프로그램들이 무엇인지 알 수 있다.


해당 프로그램들을 모두 종료한 다음에 다시 교체를 시도하면 된다.

그럼 이만...