Delphi : 관리자로 실행중인 응용 프로그램이 관리자가 아닌 앱에서 메시지를받지 못함

hikari

SendMessage / PostMessage를 사용하여 다른 응용 프로그램에 메시지를 보내고 싶지만 다른 응용 프로그램이 관리자로 실행 중일 때 메시지를 수신하지 않습니다. 관리자로 "보내기"앱을 실행하지 않고 어떻게이 문제를 해결할 수 있습니까?

편집 : Remi의 답변, 수신기 앱 코드

Const dummyValue = WM_USER + 71423;

  Application.HookMainWindow(AppClass.AppHookFunc);
  ChangeWindowMessageFilter(dummyValue, MSGFLT_ADD);

Type TAppClass = class
  function AppHookFunc(var Message : TMessage): Boolean;
end;

Var AppClass: TAppClass;

function TAppClass.AppHookFunc(var Message : TMessage): Boolean;
begin
  Result := False;
  Case Message.Msg of
    dummyValue: begin
      // do stuff
      //
      Result := True;
    end;
  end;
end;
레미 르보

UIPI ( 사용자 인터페이스 권한 격리 )는 낮은 무결성 프로세스가 높은 무결성 프로세스로 창 메시지를 보내는 것을 방지합니다. 소프트웨어 관점에서이 제한을 처리 할 수있는 유일한 방법은 다음 중 하나입니다.

  • 대상 프로세스와 일치하도록 더 높은 무결성 수준 (즉, 상승 된 권한으로 실행)에서 보내는 앱을 실행합니다.

  • 수신 앱의 소스 코드를 변경할 수있는 권한이있는 경우 ChangeWindowMessageFilter()또는 ChangeWindowMessageFilterEx()자체적 으로 호출하여 낮은 무결성 프로세스에서 특정 창 메시지를 수신하도록 옵트 인하십시오 .

  • 애플리케이션 매니페스트 요소 uiaccess=true에서 요청하여 보내는 앱이 UIPI를 우회하도록 <requestedExecutionLevel>합니다. 그러나 여기에는 추가 요구 사항이 있습니다.

    • 앱은 기기에 설치된 루트 인증서로 확인할 수있는 인증서로 디지털 서명되어야합니다.

    • 앱은 파일 시스템 1 (표준 사용자가 쓸 수없는 폴더 ) %ProgramFiles%의 하위 및 하위 디렉터리 또는 하위 %WinDir%및 하위 디렉터리 (표준 사용자가 쓰기 권한이있는 일부 하위 디렉터리 제외 ) 의 "보안"폴더에 설치되어야합니다. .

      1 :이 요구 사항은 시스템 정책을 통해 구성 할 수 있습니다 .

소프트웨어 제어 외에 사용 가능한 유일한 다른 옵션은 시스템 수준에서 UAC (사용자 계정 제어) 및 / 또는 UIPI를 모두 비활성화하도록 시스템 정책을 변경해야합니다. 하지 말아야 할 것.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

핵심 응용 프로그램에서 데스크탑 관리자로 실행 가능한 메이트

"TZ = UTC"접두사가있는 응용 프로그램 시작 관리자에서 응용 프로그램 시작이 작동을 중지했습니다.

실행중인 응용 프로그램에서 항아리를 복구

응용 프로그램이 실행중인 응용 프로그램 풀을 가져올 수 있습니까 (웹 사이트를 미리 알지 못함)?

관리자가 아닌 대시 보드 용 Django 로그인 페이지

관리자가 아닌 사용자가 관리자로 로그인하면 배치 파일 실행

관리자가 아닌 사용자가 관리자로 로그인하면 배치 파일 실행

항아리 응용 프로그램에서 '관리자 권한으로 실행'을 얻는 방법

Opencl 응용 프로그램은 사용자가 물리적으로 (원격이 아닌) 컴퓨터에 로그인 할 때까지 GPU를 인식하지 못합니다.

어떻게 자바를 사용하여 백그라운드에서 실행중인 응용 프로그램을 제외하고 작업 관리자처럼 현재 실행중인 응용 프로그램의 목록을 얻으려면?

관리자를 사용하여 SAP에 로그인하지 못함

OTRS 6-AD 통합-OTRS 관리자가 아닌 에이전트로 매핑 된 도메인 관리자 사용자

작업 관리자가 작업 관리자에 연결하지 못함 [루프백 또는 링크 로컬이 아닌 IPv4 주소를 찾을 수 없습니다. localhost 주소 사용.]

Django : 직원이 아닌 사용자는 관리자 페이지에 로그인 할 수 있습니다.

실행중인 프로그램을 관리자에게 낮추십시오.

프로세스가 닫혀 있거나 실행 중이 아닌지 확인한 다음 응용 프로그램을 다시 시작하십시오.

관리자가 아닌 관리자로 실행할 때 표시되는 레지스트리 키

관리자가 아닌 사용자로서 Chocolatey

관리자가 아닌 사용자로서 Chocolatey

관리자로 앱을 실행할 때 관리자가 아닌 사용자 이름을 얻는 방법이 있습니까?

대부분의 응용 프로그램에는 명시적인 관리자 권한이 필요합니다.

관리자 권한으로 실행중인 Inno Setup 설치 프로그램에서 현재 로그인 한 사용자 용 애플리케이션 설치

Java-IntelliJ가 응용 프로그램이 실행될 때 module-info.java에 명시된 모듈 라이브러리를 찾지 못함

관리자가 아닌 사용자가 Rails 앱에서 내 인덱스 페이지에 액세스 할 수있는 이유는 무엇입니까? (Devise Gem)

오류 :-R의 Shiny 응용 프로그램에서 "수학 함수의 숫자가 아닌 인수"

SSIS : ODBC 드라이버 관리자 지정된 DSN에 드라이버와 응용 프로그램 간의 아키텍처 불일치가 있습니다.

점프 목록 바로 가기를 항상 관리자 권한으로 응용 프로그램 실행

양식 응용 프로그램에서 관리자로 응용 프로그램 시작

사용자가 응용 프로그램 관리자에서 Google TTS를 비활성화했는지 확인하는 방법

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관