1. IE 마우스 오른쪽 버튼 클릭 메뉴에 메뉴 항목을 추가하는 방법
Netants를 사용해 본 친구들은 NetAnts가 IE에 오른쪽 클릭 메뉴 기능을 추가했다는 사실을 알고 있을 것입니다. 페이지의 링크나 사진을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 Down By Netants를 선택하면 Netants를 호출하여 다운로드할 수 있습니다. 링크가 가리키는 파일. 이 기사에서 저자는 VB를 통해 이러한 기능을 구현하는 방법을 소개합니다.
IE 마우스 오른쪽 버튼 클릭 메뉴에 메뉴 항목을 추가하는 기능을 구현하려면 다음 단계를 순서대로 구현해야 합니다.
1. 레지스트리의 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt 항목 아래에 새 항목을 만듭니다. 항목 이름은 메뉴의 제목으로 나타납니다. 예를 들어, 만들려는 메뉴 항목의 제목은 다음과 같습니다. URL을 추가하면 새 항목의 이름은 다음과 같습니다.
HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExtURL 추가
2. 새 항목의 기본값을 URL 주소로 설정합니다. 사용자가 메뉴 항목을 클릭하면 IE는 URL이 가리키는 페이지의 스크립트를 호출하고, 대상 페이지의 스크립트에서 menuArguments 속성에 액세스합니다. IE에서 제공하는 외부 개체의 링크, 그림, 양식 필드, 선택한 텍스트 등과 같은 IE 페이지의 다양한 개체에 액세스할 수 있습니다. 자세한 도움말은 InternetExplore 개체에 대한 MSDN을 참조하세요.
Window 객체에 익숙하다면 도움을 받아 다음 스크립트를 더 잘 이해할 수 있습니다.
menuArguments에 액세스하기 위해 자체 프로그램을 구현하는 방법에 대한 문제의 경우 Netants의 접근 방식을 따르고 먼저
OLE 자동화 개체를 호출한 다음 스크립트에서 개체를 호출하고 페이지 정보를 개체에 전달하여 처리합니다. 다음으로 먼저 VB를 통해 객체를 생성해야 합니다.
VB를 열고 File | New 메뉴를 클릭하고 새 프로젝트 창에서 ActiveX Dll을 선택한 다음 OK 키를 눌러 ActiveX DLL을 만듭니다.
프로젝트. 그런 다음 프로젝트 목록 창에서 Class1의 Name 속성을 NetAPI로 변경하고 NetAPI 코드 창에 다음 코드를 추가합니다.
공개 하위 추가 URL(URL을 문자열로, 정보를 문자열로)
MsgBox 정보, vbOKOnly, URL
서브 끝
파일을 저장하고 프로젝트 파일을 NetSamp.vbp로 저장합니다. 그런 다음 메뉴에서 File | Make NetSamp.dll을 선택하여 개체 동적 링크 라이브러리를 만듭니다.
다음은 등록 라이브러리입니다. Windows 디렉터리에서 Regsvr32.exe를 찾아 netsamp.dll이 있는 디렉터리에 복사합니다.
netsamp.dll 아이콘을 Regsvr32.exe로 끌어서 놓습니다. 이때 Regsvr32.exe는 개체 등록이 성공했다는 대화 상자를 표시합니다.
UltraEdit(또는 다른 텍스트 편집기)를 열고 다음 스크립트 코드를 편집기에 입력하십시오:
하위 OnContextMenu()
오류 발생 시 다음 재개
srcEvent = external.menuArguments.event 설정
EventElement = external.menuArguments.document.elementFromPoint(srcEvent.clientX, srcEvent.clientY) 설정
set objNetSamp=CreateObject("NetSamp.NetAPI")
srcEvent.type = "MenuExtAnchor"인 경우
srcAnchor = EventElement 설정
TypeName(srcAnchor)="HTMLAnchorElement"까지 수행
srcAnchor=srcAnchor.parentElement 설정
고리
objNetSamp.AddUrl(srcAnchor.href,srcAnchor.innerText) 호출
elseif srcEvent.type="MenuExtImage" 다음
if TypeName(EventElement)="HTMLAreaElement" 다음
objNetSamp.AddUrl(EventElement.href,EventElement.Alt)를 호출합니다.
또 다른
srcImage = EventElement 설정
srcAnchor = srcImage.parentElement 설정
TypeName(srcAnchor)="HTMLAnchorElement"까지 수행
srcAnchor=srcAnchor.parentElement 설정
TypeName(srcAnchor)="아무것도"인 경우
objNetSamp.AddUrl(srcImage.href,srcImage.Alt)을 호출합니다.
서브 종료
종료하면
고리
objNetSamp.AddUrl(srcAnchor.href, srcImage.Alt) 호출
종료하면
elseif srcEvent.type="MenuExtUnknown" 다음
srcAnchor = EventElement 설정
TypeName(srcAnchor)="HTMLAnchorElement"까지 수행
srcAnchor=srcAnchor.parentElement 설정
TypeName(srcAnchor)="아무것도"인 경우
objNetSamp.AddUrl(EventElement.href,EventElement.innerText)를 호출합니다.
서브 종료
종료하면
고리
objNetSamp.AddUrl(srcAnchor.href,srcAnchor.innerText) 호출
종료하면
끝 서브
callOnContextMenu()
파일 이름이 geturl.htm인 c:program files에 파일을 저장합니다.
위 스크립트에서 볼 수 있듯이 먼저 external.menuArguments 속성에 액세스하여 사용자가 마우스 오른쪽 버튼을 클릭하는 개체를 얻은 다음 개체를 기반으로 해당 URL을 얻은 다음 IEContextMenu.IEMenu1 개체를 만들고 개체의 AddURL을 호출합니다. 방법.
다음 단계는 오른쪽 클릭 메뉴에 대한 등록 항목을 생성하고 UltraEdit(또는 다른 텍스트 편집기)를 열고 다음 등록 데이터를 편집기에 입력하는 것입니다.
Windows 레지스트리 편집기 버전 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt&URL 가져오기]
@="c:\프로그램 파일\geturl.htm"
"Contexts"=dword:00000022
접미사로 reg를 사용하여 파일을 저장한 다음 Windows 탐색기에서 파일을 두 번 클릭하여 레지스트리에 등록 키를 추가한 다음 엽니다.
IE의 경우 링크나 이미지를 마우스 오른쪽 버튼으로 클릭하면 팝업 메뉴에 URL 가져오기 항목이 나타납니다. 이 항목을 클릭하면 클릭한 링크나 이미지의 URL 주소를 보여주는 메시지 상자가 나타납니다.
위 등록 항목에서 Contexts 항목의 역할을 소개하겠습니다. 이 항목을 통해 IE에서 개체를 마우스 오른쪽 버튼으로 클릭할 때 나타나는 메뉴 항목을 지정할 수 있습니다. 이는 다음 값의 "OR" 조합일 수 있습니다.
객체 가치
기본값 0x1
이미지 0x2
제어 0x4
양식 필드 0x8
텍스트 0x10 선택
앵커 포인트 0x20
예를 들어 위에서는 사용자가 이미지나 하이퍼링크를 클릭할 때 메뉴 항목이 나타나도록 하고 값을 dword:00000022로 설정합니다. 즉, 사용자가 이미지나 앵커를 클릭할 때 메뉴가 나타납니다. 앵커는 하이퍼링크를 설명하는 페이지의 개체입니다. 컨텍스트 항목이 설정되지 않은 경우 개체를 클릭하면 메뉴 항목이 마우스 오른쪽 버튼 클릭 메뉴에 나타납니다.
위의 프로그램 소개를 통해 IE 마우스 오른쪽 버튼 클릭 메뉴의 작동 과정을 볼 수 있습니다. 앞서 언급했듯이 Netants는 이 방법을 사용하여 스크립트에서 개체를 생성하여 NetAnts를 호출합니다. NetAnts를 설치하면 프로그램에서 NetAnts 개체를 호출하여 NetAnts를 호출할 수 있습니다.
새 프로젝트를 생성하고 메뉴에서 Projects | References 항목을 클릭한 후, AntAPI 1.0 Type Library 항목을 선택합니다. Browser 버튼이 클릭되지 않으면 파일 목록 상자에서 Network Ant 디렉토리에 있는 NetAPI.dll을 선택하고 Open을 누릅니다. 열쇠. Form1에 CommandButton 추가
버튼을 클릭하고 Command1_Click 이벤트에 다음 코드를 추가합니다.
새로운 ANTAPILib.AntAPIObj로서의 희미한 개미
ant.AddUrl " http://www.downcodes.com/ "
command1을 클릭하면 NetAnts가 실행되고 레지스트리에서 7. HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions
Clsid라는 새 문자열 유형 값을 만들고 값을 {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}으로 설정합니다.
8. 레지스트리에서 HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions<귀하의 GUID>
Exec이라는 새 문자열 유형 값을 생성합니다. 이 값은 버튼을 클릭한 후 실행할 파일의 전체 경로 이름을 정의합니다. 예:
c:program filessamplesnet.exe
예를 들어 NetAnts 버튼 레지스트리 키의 내용은 다음과 같습니다.
Windows 레지스트리 편집기 버전 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions{57E91B47-F40A-11D1- B792 -444553540000}]
"CLSID"="{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}"
"기본 표시"="예"
"HotIcon"="C:\PROGRA~1\NETANTS\NetAnts.exe,1001"
"Icon"="C:\PROGRA~1\NETANTS\NetAnts.exe,1000"
"Exec"="C:\PROGRA~1\NETANTS\NetAnts.exe"
"ButtonText"="NetAnts"
"MenuText"="&NetAnts"
"MenuStatusBar"="Launch NetAnts"
NetAnts 버튼을 클릭하면 Netants가 실행됩니다. 위 레지스트리 키의 다음 두 항목: MenuText 키는 메뉴의 "도구" 표시줄에 메뉴 항목을 추가하고, MenuStatusBar 키는 커서가 추가된 메뉴로 이동할 때 상태 표시줄에 표시되는 프롬프트 텍스트를 정의합니다. 술집. 게다가 레지스트리에는
다음과 같은 파일을 추가할 수도 있습니다.
MenuCustomize의 문자열 유형 값입니다. 이 값을 "도움말"로 설정하면 메뉴 항목이 "도움말" 메뉴 표시줄에 표시되고, 그렇지 않으면 "도구" 표시줄에 표시됩니다.
물론, 단지 버튼을 추가하고 프로그램을 실행하는 것만으로는 만족하지 않을 것입니다. 사용자가 레지스트리의 HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions에 있는 버튼을 클릭하면 현재 페이지를 제어할 수 있기를 바랍니다. <귀하의 GUID>
새로운 String 유형 값을 생성하고 이름을 html 파일의 전체 경로 이름으로 설정합니다. 앞서 소개한 마우스 오른쪽 버튼 클릭 메뉴를 추가하는 것과 마찬가지로 IE는 버튼을 클릭한 후 파일을 호출하고, VBScript를 설정하여 액세스합니다. 외부 객체의 menuArguments 속성은 브라우저에서 페이지를 얻을 수 있습니다. 예를 들어 HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions<귀하의 GUID>VBScript입니다.
값을 c:program filessamp.htm으로 설정한 다음 c:program files 아래에 Samp.htm이라는 파일을 만들고 파일에 다음 스크립트 내용을 입력합니다.
objNetSamp=CreateObject("IEContextMenu.IEMenu1") 설정
userURL=external.menuArguments.location.href
objNetSamp.AddUrl(userURL,"") 호출
IE 브라우저를 열고 새로 만들기 버튼을 클릭하면 현재 페이지의 URL을 표시하는 대화 상자가 나타납니다. 이 항목은 이전에 설정한 Exec 항목과 동시에 사용할 수 없으므로 주의하세요.
마지막으로 버튼 아이콘의 경우 IE에서는 20x20과 16x16의 두 가지 크기의 아이콘이 필요합니다. 전자는 일반 상태로 표시하는 데 사용되고 후자는 전체 화면으로 표시하는 데 사용되므로 위의 HotIcon과 Icon이 가리키는 아이콘 리소스는 세 가지 아이콘의 조합입니다. 세 가지 아이콘의 사양은 다음과 같습니다.
16x16 16색 아이콘(필수)
20x20 16색 아이콘(선택 사항)
20x20 256색 아이콘(필수)
아이콘을 디자인할 때 256색 아이콘은 Windows 하프톤 팔레트를 사용해야 하고, 16색 아이콘은 Windows 16색 팔레트를 사용해야 합니다.
http://www.cnblogs.com/goody9807/archive/2006/12/04/581359.html