사용자가 모티프 창 (위젯) 닫기 상자를 클릭 할 때 가로 채기를 어떻게 할 수 있습니까? 그리고 Motif 윈도우 관리자가 닫힌 상자에서 전체 호출 응용 프로그램을 닫을 수 없게하려면 어떻게해야합니까? Motif 응용 프로그램 컨텍스트 및 창을 닫고 계속 실행하십시오.) 나는 Google, tuts 및 docs로 자신을 알아 내려고 노력했지만 주사위는 사용하지 않았습니다. C++가 필요합니다.주제 : 닫기 상자 이벤트를 가로 채고 응용 프로그램 종료를 방지 하시겠습니까? (C++)
1
A
답변
1
: 응용 프로그램을 방지 할 수 이러한 콜백을 설정
#include <Xm/Protocols.h>
Boolean SetCloseCallBack (Widget shell, void (*callback) (Widget, XtPointer, XtPointer))
{
extern Atom XmInternAtom (Display *, char *, Boolean);
if (!shell)
return False;
Display* disp = XtDisplay (shell);
if (!disp)
return False;
// Retrieve Window Manager Protocol Property
Atom prop = XmInternAtom (disp, const_cast<char*>("WM_PROTOCOLS"), False);
if (!prop)
return False;
// Retrieve Window Manager Delete Window Property
Atom prot = XmInternAtom (disp, const_cast<char*>("WM_DELETE_WINDOW"), True);
if (!prot)
return False;
// Ensure that Shell has the Delete Window Property
// NB: Necessary since some Window managers are not
// Fully XWM Compilant (olwm for instance is not)
XmAddProtocols (shell, prop, &prot, 1);
// Now add our callback into the Protocol Callback List
XmAddProtocolCallback (shell, prop, prot, callback, NULL);
return True;
}
는 close 이벤트 인 핸들 할 기본 이벤트 핸들러의 결과로 폐쇄.
0
IIRC, X11에서 창 닫기 상자를 클릭하면 창 관리자가 응용 프로그램에 신호를 보내서 종료하도록 지시합니다. 닫는 상자가 응용 프로그램이 아니라 WM에 속하기 때문에 motif 또는 gtk 또는 Qt를 사용하는지 여부는 관계가 없습니다.
응용 프로그램이 닫히지 않도록 유닉스 신호를 알아야합니다. 합니다 (INET에 있음)이 작동하는 것 같다
1
vendorShellWidgetClass가 속임수를 사용하지 않습니까? 마찬가지로, 모티프 앱 컨텍스트를 닫고 창을 닫지 마십시오 ..
관련 문제
- 1. C# NET에서 응용 프로그램 종료를 감지 하시겠습니까?
- 2. 타사 응용 프로그램에서 마우스 이벤트를 가로 채고 수정하는 중입니까?
- 3. C# 응용 프로그램 닫기 문제
- 4. 응용 프로그램 닫기 문제
- 5. jQuery - 가로 스크롤을 가로 채고 세로로 바꾸기?
- 6. 버튼의 클릭 이벤트를 가로 채고 확인한 다음 계속 진행하십시오
- 7. 닫기 응용 프로그램
- 8. 리눅스에서 파이썬으로 키보드 입력을 가로 채고 보내기
- 9. Asp.Net에서 QueryStrings를 가로 채고 사전 처리하는 방법
- 10. 닫기 Windows 응용 프로그램
- 11. 오류시 응용 프로그램 닫기
- 12. 응용 프로그램 시작, 응용 프로그램 닫기 후 복원
- 13. 소프트 키보드가 내 onClickListener를 가로 채고 있습니까?
- 14. 웹 서버 요청을 가로 채고 수정, 전달
- 15. INSTALL_REFERRER을 가로 채고 Google Analytics Receiver로 전달
- 16. WiX를 사용하여 응용 프로그램 닫기
- 17. android에서 전체 응용 프로그램 닫기
- 18. 응용 프로그램 셧다운 방지 iPhone
- 19. 프로세스의 시작과 종료를 모니터링 하시겠습니까?
- 20. UAC 가상화를 방지 하시겠습니까?
- 21. MVC2 : ViewRequest를 가로 채고 ActionResult를 변경하는 가장 좋은 방법
- 22. 종료를 확인하면 응용 프로그램이 닫힙니다.
- 23. 웹캠에서 비디오 또는 이미지 스트림을 가로 채고 수정하려면 어떻게해야합니까?
- 24. 포스트 백에서 ModalPopup 닫기 방지
- 25. 응용 프로그램 닫기 및 외부 응용 프로그램 실행
- 26. 닫기 jQuery를 UI 대화 상자
- 27. 응용 프로그램 내에서 TDS 패킷 가로 채기
- 28. 앱이 강제 종료를 유지 하시겠습니까?
- 29. AIR 응용 프로그램에서 창 닫기 이벤트를 감지하는 방법 및 방지 방법
- 30. 는 이벤트를 트리거 응용 프로그램
나는 어떻게해야할까요? 어떻게 든 이벤트를 가로 채고 기본 종료 핸들러가 호출되지 않도록해야한다는 것을 이미 알고 있습니다. – karx11erx
나는 * 어떻게해야하는지 알려 줬다. 구글 "유닉스 신호"그리고 당신은 대답을해야합니다. –
당신은 아무것도 없습니다. 너의 가정 된 힌트는 가치가 없다. 내 스스로 주어진 반응을 보아라, 그것은 좋은 대답이다. – karx11erx