Path.GetTempFileName에 의해 반환 된 파일에 포함 된 리소스로 저장된 기본 EXE를 작성하고 있습니다. 이 기능은 경쟁 조건을 피하는 구현 세부 사항을 무시하게하므로 바람직합니다. 유일한 단점은 확장자가 .tmp
인 파일 이름을 반환한다는 것입니다.임시 파일 이름과 함께 저장된 exe를 실행할 수있는 방법이 있습니까?
Process.Start
은 내 시스템의 메모장에서 tmp-named-exe 파일을 엽니 다. 분명히 p/invoke (https://stackoverflow.com/a/12681219/521757 참조)를 사용하여 수동으로 클래스와 동사를 지정할 수 있습니다. 전에 .NET Framework를 사용하여 동일한 작업을 수행 할 수있는 방법이 있습니까?
'Process.Start()'에 전달하기 전에 .tmp를 .exe로 변경하십시오. 확장명이없는 파일 이름이 무작위로 지정되었으므로 명명 충돌이 없습니다. – kennyzx
또는 .tmp.exe –
의 끝에 cat .exe 만 사용 가능 이론적으로 다른 프로세스가 GetTempFileName 프로세스의 일부로 만들어지지 않았기 때문에 같은 이름으로 착륙하는 것이 가능합니다. 게다가 생성 된'tmp' 파일을 삭제해야합니다. 어느 쪽이든, 저는 여전히 클래스/동사를 강요하는 것에 대해 궁금합니다. – jnm2