Linux 및 Windows 용 그래픽 GNU 프론트 엔드를 작성하고 있습니다. (MSEgit)을 기반으로 MSEide+MSEgui입니다. MSEgit은 git와 파이프로 통신하는 내부 콘솔 창을 가지고 있습니다. 리눅스에서는 PTY를 사용하므로 SSH는 PTY에서 키 잠금 해제 암호를 묻습니다.
Windows에서 작은 암호 입력 응용 프로그램을 작성하고 이에 따라 SSH_ASKPASS 환경 변수를 설정했습니다.
SSH는 CreateProcess() dwCreationFlags DETACHED_PROCESS가 설정된 상태에서 git이 시작되었지만 비밀번호 입력 창이 선택되지 않으면 해당 작업 표시 줄 아이콘이 대신 깜박입니다.
SSH는 FreeConsole()이 호출되어 MSEgit에 연결된 콘솔이없고, git가 DETACHED_PROCESS없이 시작되지만 CREATE_NO_WINDOW가 아닌지 확인하는 경우 암호 응용 프로그램을 실행하지 않습니다.
POSIX setsid()를 호출해야한다고 가정합니다.
어떻게 SSH가 DETACHED_PROCESS 플래그없이 SSH_ASKPASS를 사용하도록 강제 할 수 있습니까?
이것이 가능하지 않은 경우 비밀번호 입력 창이 집중되도록하려면 어떻게해야합니까?창문에 SSH_ASKPASS가 있습니다.
3
A
답변
0
자식 프로세스가 권한을 얻지 못하면 부모 프로세스에서 포커스를 벗어날 수 없습니다. 부모는 해당 허가를 제공하기 위해 AllowSetForegroundWindow으로 전화해야합니다. 그런 다음 하위 프로세스는 전경이되어 적절하게 포커스를 설정할 수 있습니다.
+0
암호 창에 집중하기 위해 작동합니다. 감사합니다. AFAIK 하위 프로세스는 포 그라운드 프로세스 인 MSDN에서 만든 경우 포커스를 가져야합니다. "다음 조건 중 하나에 해당하는 경우에만 프로세스가 전경 창을 설정할 수 있습니다. 프로세스가 포 그라운드 프로세스 임 프로세스가 포어 그라운드에서 시작되었습니다. 과정. [...] ". DETACHED_PROCESS는 (는) 해당 규칙을 금지합니다. –
관련 문제
- 1. 창문에 리포 설치 문제가 있습니다.
- 2. 창문에 libeio
- 3. 창문에 문자열 자동 삽입
- 4. 창문에 서비스 생성
- 5. 창문에 인터럽트 컨텍스트가 있습니까?
- 6. Python이 창문에 키를 보냅니다.
- 7. 창문이없는 창문에 OpenGL 그리기
- 8. C++ 창문에 벡터 사용
- 9. Facebook 로그인 창문에
- 10. 창문에 그림자 넣기
- 11. 창문에 mvvm 라이트가있는 애니메이션 7
- 12. git windows를 창문에 밀어 넣으십시오.
- 13. 창문에 블라드가있는 루비 레일에 설치
- 14. 코코아 인쇄 : 창문에 인쇄 요청을하십시오.
- 15. mysql을 리눅스에서 QT 창문에 CentOS에
- 16. 창문에 경비원을 설치하고 달릴 때
- 17. 안녕 난 창문에 자식을 사용하려고 -
- 18. 창문에 jasper-reports에 유니 코드를 표시하는 방법
- 19. 창문에 제 3 자 응용 프로그램을 열거하십시오.
- 20. 백업 Assembla는 창문에 SVN 저장소를 호스팅했습니다
- 21. 왜 내 창문에 가비지 수집되지 않습니까?
- 22. Cygwin에서 내가 창문에 Cygwin에서에서 make 명령을 사용하려고
- 23. 창문에 pypy의 수은 리보를 복제하려고 시도했습니다.
- 24. 가짜 파이썬 모듈을 심볼릭 링크를 통해 : 창문에?
- 25. 오이 창문에 색깔 출력을 게재하지 않습니다.
- 26. 빔. 창문에 저장된 파일에 대한 인코딩과 관련한 어려움
- 27. 어느 쪽이 창문에 더 낫습니까? pthreads 또는 CreateMutex?
- 28. 파이썬에서 msysgit에 사용자 이름을 물을 때 출력을 얻는다. (창문에)
- 29. 창문에 젠킨스 (AKA 허드슨) 슬레이브를 설치할 수 없습니다.
- 30. 코드에서 타사 루비 라이브러리 모듈에 액세스 하시겠습니까? 이게 창문에 적합한거야?
Git for Windows 2.x를 사용할 때 더 이상 필요하지 않은 것 같습니다. – npostavs