데몬 프로세스를 사용하여 나타나는 인쇄 창을 찾은 다음 창에 메시지를 보내 "인쇄 매수"와 관련된 컨트롤을 숨깁니다.
다음은 관련 정보입니다
델파이에서 제어할 수 있는 예제를 찾아보세요. 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