현재 위치 - 중국 분류 정보 발표 플랫폼 - 비즈니스 서비스 정보 - Windows 인쇄 대화 상자에서 "복사 매수" 옵션을 차단하는 방법

Windows 인쇄 대화 상자에서 "복사 매수" 옵션을 차단하는 방법

데몬 프로세스를 사용하여 나타나는 인쇄 창을 찾은 다음 창에 메시지를 보내 "인쇄 매수"와 관련된 컨트롤을 숨깁니다.

다음은 관련 정보입니다

델파이에서 제어할 수 있는 예제를 찾아보세요. C++도 문제가 없을 것 같습니다.

/yang/news /detail.asp?id=647

var hWindow:hwnd;

시작

hWindow:=FindWindowEx(Handle,0,'TEdit',nil) ; //처음부터 검색을 시작하려면 매개변수가 0입니다.

while hWindow<>0 do

begin

ListBox1.Lines.Add(Format(' %x', [hWindow]));//ListBox에 핸들을 넣습니다.

hWindow:=FindWindowEx(Handle,hWindow,'TEdit',nil);//다음 핸들 찾기

end;

end;

창 핸들을 얻은 후 form1.componets[i]를 사용하여 이동할 수도 있습니다. 창의 모든 컨트롤을 탐색하려면 이 창에서 '취소' 버튼의 핸들을 얻으세요. 이 창에서 '확인' 버튼의 핸들을 얻으려면 어떻게 해야 합니까?

var

< p>hh:thandle;

sch :array[0..255] of char

시작

hh:=findwindow(nil, 창 제목);

bringwindowtotop(hh);

enumchildwindows(hh,@findenum,integer(@sch[0])

end;

function findenum(hh:integer;lparam:longint):boolean ;stdcall

var

buffer:pchar; result:=true;

getmem(buffer,256);

getwindowtext(hh,buffer,256)

if buffer='OK' /p>

시작

end;

buffer='cancel'이면

시작

end; >

end;

양식 오른쪽 상단에 있는 X 버튼을 비활성화합니다.

/319/202319.shtml

양식의 오른쪽 상단 모서리는 일반적으로 프로그램을 닫는 데 사용됩니다. 이 작은 X 버튼은 실제로 시스템 메뉴의 "닫기" 메뉴 항목과 연관되어 있습니까? 시스템 메뉴가 무엇인지는 모르겠습니다. 시스템 메뉴란 폼 왼쪽 상단에 있는 작은 아이콘을 클릭하면 나타나는 메뉴를 말하는데요. "복원", "이동", "최대화"가 포함되어 있는 것 같습니다. ", "최소화", "닫기" "버튼이 너무 많아요. 이 메뉴는 일반적인 방법으로는 편집하거나 변경할 수 없지만 API 함수 GetSystemMenu를 통해 핸들을 얻은 다음 메뉴 관련 API 함수를 통해 변경하는 방법을 살펴보겠습니다.

학습의 편의를 위해 아래에 소스코드를 제공하고, 상세한 중국어 주석을 달았습니다:

--------------- -- --------------------------

양식 오른쪽 상단에 있는 X 버튼을 비활성화합니다.

- --------------------------------

프로그램 설명:

이 예는 API 함수 GetSystemMenu를 사용하여 시스템 메뉴의 핸들을 가져옵니다.

X 버튼은 시스템 메뉴의 항목입니다. 그런 다음 RemoveMenu 기능을 사용하여 삭제합니다.

이 메뉴 항목은 X 버튼도 비활성화합니다.

------------------------------- --

VB 선언

개인 선언 함수 GetSystemMenu Lib "user32"(ByVal hwnd As Long, ByVal bRevert As Long) As Long

설명

< p>지정된 창의 시스템 메뉴 핸들을 가져옵니다. VB 환경에서 "시스템 메뉴"의 정식 명칭은 "컨트롤 메뉴"로, 창 좌측 상단의 컨트롤 박스를 클릭하면 나타나는 메뉴입니다.

반환값

p>

Long, 실행되면 성공하면 시스템 메뉴에 핸들이 반환됩니다. 0은 오류가 발생했음을 의미합니다. bRevert가 TRUE로 설정되면 0도 반환됩니다(원래 시스템 메뉴의 간단한 복원).

비고

vb에서 사용: 시스템 메뉴는 WM_SYSCOMMAND 메시지를 WM_COMMAND 메시지가 아닌 창

매개변수 목록

hwnd ----------- 긴 창 핸들

bRevert --- --- -- Long, TRUE로 설정하면 원래 시스템 메뉴를 받는다는 의미

Private 선언 함수 GetSystemMenu Lib "user32" ( _

ByVal hwnd As Integer, _ < /p>< p>ByVal bRevert As Integer _

) As Integer

VB 선언

개인 선언 함수 RemoveMenu Lib "user32" (ByVal hMenu As Long , ByVal nPosition As Long, ByVal wFlags As Long)

VC 지식 요약

/bbs/PostView.asp?BoardID=19&imageID=248&page=1&imageNum=88&PostPage=1

p>< p>11창을 보이지 않게 하려면 어떻게 해야 하나요?

매우 간단합니다. SW_HIDE를 사용하여 창을 숨기면 FindWindow 및 ShowWindow 컨트롤과 결합할 수 있습니다.

또한 이 페이지에는 참고할 내용이 많이 있습니다.

기타 관련 정보

p>

VC++: 프로그래밍 기술

/4/2627.html

조정에 관한 질문 컨트롤의 크기

/bbs/jsp/view.jsp?articleID=2150043&skin=0&forumID=145