1. Cara menambahkan item menu ke menu klik kanan IE
Teman-teman yang pernah menggunakan Netants mungkin tahu bahwa NetAnts telah menambahkan fungsi menu klik kanan di IE. Selama Anda mengklik kanan link atau gambar di halaman dan memilih Down By Netants di menu, Anda dapat memanggil Netants untuk mendownload. file yang ditunjuk oleh tautan. Pada artikel ini, penulis akan memperkenalkan cara mengimplementasikan fungsi tersebut melalui VB.
Untuk mengimplementasikan fungsi menambahkan item menu ke menu klik kanan IE, langkah-langkah berikut harus diterapkan secara berurutan:
1. Buat item baru di bawah item HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt di registri. Nama item muncul sebagai judul di menu Tambahkan URL, lalu nama item barunya
HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExtTambahkan URL
2. Tetapkan nilai default item baru ke alamat URL. Saat pengguna mengklik item menu, IE akan memanggil skrip di halaman yang ditunjuk oleh URL. Di skrip halaman target, akses atribut menuArguments dari objek eksternal yang disediakan oleh IE. Anda dapat mengakses berbagai objek di halaman di IE, seperti link, gambar, kolom formulir, teks yang dipilih, dll. Untuk bantuan lebih rinci, silakan merujuk ke MSDN tentang objek InternetExplore
Dengan bantuan, Anda dapat lebih memahami skrip berikut jika Anda familiar dengan objek Window.
Untuk masalah bagaimana mengimplementasikan program kita sendiri untuk mengakses menuArguments, kita dapat mengikuti pendekatan Netants dan pertama-tama membuat sebuah
Objek Otomasi OLE, lalu panggil objek dalam skrip dan teruskan informasi halaman ke objek untuk diproses. Selanjutnya kita perlu membuat objek terlebih dahulu melalui VB:
Buka VB, klik menu: File |. New, pilih ActiveX Dll di jendela proyek baru dan tekan tombol OK untuk membuat ActiveX DLL
proyek. Kemudian ubah properti Nama Class1 menjadi NetAPI di jendela daftar proyek, lalu tambahkan kode berikut di jendela kode NetAPI:
AddURL Sub Publik (URL Sebagai String, Info Sebagai String)
Info MsgBox, vbOKOnly, URL
Akhiri Sub
Simpan file dan simpan file proyek sebagai NetSamp.vbp. Kemudian pilih File |. Make NetSamp.dll pada menu untuk membuat objek perpustakaan tautan dinamis.
Berikutnya adalah perpustakaan pendaftaran. Temukan Regsvr32.exe di direktori Windows, lalu salin ke direktori tempat netsamp.dll berada.
Seret ikon netsamp.dll ke Regsvr32.exe dan lepaskan. Pada saat ini, Regsvr32.exe akan memunculkan kotak dialog yang meminta pendaftaran objek berhasil.
Buka UltraEdit (atau editor teks lainnya) dan masukkan kode skrip berikut ke dalam editor:
Sub OnContextMenu()
Pada Kesalahan Lanjutkan Berikutnya
setel srcEvent = eksternal.menuArguments.event
set EventElement = eksternal.menuArguments.document.elementFromPoint(srcEvent.clientX, srcEvent.clientY)
atur objNetSamp=CreateObject("NetSamp.NetAPI")
jika srcEvent.type = "MenuExtAnchor" lalu
atur srcAnchor = EventElement
lakukan sampai TypeName(srcAnchor)="HTMLAnchorElement"
atur srcAnchor=srcAnchor.parentElement
Lingkaran
Panggil objNetSamp.AddUrl(srcAnchor.href,srcAnchor.innerText)
elseif srcEvent.type="MenuExtImage" lalu
jika TypeName(EventElement)="HTMLAreaElement" lalu
Panggil objNetSamp.AddUrl(EventElement.href,EventElement.Alt)
kalau tidak
setel srcImage = EventElement
setel srcAnchor = srcImage.parentElement
lakukan sampai TypeName(srcAnchor)="HTMLAnchorElement"
atur srcAnchor=srcAnchor.parentElement
jika TypeName(srcAnchor)="Tidak ada" maka
panggil objNetSamp.AddUrl(srcImage.href,srcImage.Alt)
keluar sub
berakhir jika
Lingkaran
Panggil objNetSamp.AddUrl(srcAnchor.href, srcImage.Alt)
berakhir jika
elseif srcEvent.type="MenuExtUnknown" lalu
atur srcAnchor = EventElement
lakukan sampai TypeName(srcAnchor)="HTMLAnchorElement"
atur srcAnchor=srcAnchor.parentElement
jika TypeName(srcAnchor)="Tidak ada" maka
Panggil objNetSamp.AddUrl(EventElement.href,EventElement.innerText)
keluar sub
berakhir jika
Lingkaran
Panggil objNetSamp.AddUrl(srcAnchor.href,srcAnchor.innerText)
berakhir jika
akhir Sub
panggilanOnContextMenu()
Simpan file ke c:program files dengan nama file geturl.htm
Seperti yang Anda lihat dari skrip di atas, pertama-tama akses properti external.menuArguments untuk mendapatkan objek di mana pengguna mengklik tombol kanan mouse, kemudian dapatkan URL-nya berdasarkan objek tersebut, kemudian buat objek IEContextMenu.IEMenu1 dan panggil AddURL objek tersebut metode.
Langkah selanjutnya adalah membuat item registrasi untuk menu klik kanan, buka UltraEdit (atau editor teks lainnya) dan masukkan data registrasi berikut ke dalam editor.
Windows Registry Editor Versi 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt&Dapatkan URL]
@="c:\program files\geturl.htm"
"Contexts"=dword:00000022
Simpan file dengan reg sebagai akhiran, lalu klik dua kali file di Windows Explorer untuk menambahkan kunci registrasi ke registri, lalu buka
Yaitu, klik kanan tautan atau gambar, dan item Dapatkan URL akan muncul di menu pop-up. Klik item ini, dan kotak pesan akan muncul yang menunjukkan alamat URL dari tautan atau gambar yang diklik.
Mari kita perkenalkan peran item Konteks pada item registrasi di atas. Melalui item ini, Anda dapat menentukan item menu apa yang muncul ketika Anda mengklik kanan pada suatu objek di IE. Ini bisa berupa kombinasi "ATAU" dari nilai berikut:
nilai objek
Bawaan 0x1
Gambar 0x2
Kontrol 0x4
Bidang formulir 0x8
Pilih teks 0x10
Titik jangkar 0x20
Misalnya di atas kita ingin item menu muncul ketika pengguna mengklik gambar atau hyperlink, lalu kita atur nilainya menjadi dword:00000022, artinya menu akan muncul ketika pengguna mengklik gambar atau jangkar. Jangkar adalah objek pada halaman yang mendeskripsikan hyperlink. Jika item Konteks tidak disetel, item menu akan muncul di menu klik kanan saat mengklik objek apa pun.
Melalui pengenalan program di atas, kita dapat melihat proses kerja menu klik kanan mouse IE. Seperti disebutkan sebelumnya, Netants menggunakan metode ini untuk memanggil NetAnts dengan membuat objek dalam skrip. Jika kita menginstal NetAnts, kita dapat memanggil NetAnts dalam program dengan memanggil objek NetAnts.
Buat proyek baru, klik item Projects |. Referensi di menu, dan pilih item AntAPI 1.0 Type Library. Jika tombol Browser tidak diklik, pilih NetAPI.dll di direktori Network Ant di kotak daftar file dan tekan Buka kunci. Tambahkan CommandButton di Form1
tombol, tambahkan kode berikut di acara Command1_Click:
Semut Redup Sebagai ANTAPILib.AntAPIObj Baru
ant.AddUrl " http://www.downcodes.com/ "
Klik command1, maka NetAnts akan berjalan dan 7. HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions
Buat nilai tipe String baru bernama Clsid, dan atur nilainya menjadi {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}
8. Di registri HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions
Buat nilai tipe String baru bernama Exec. Nilai ini mendefinisikan nama path lengkap file yang akan dijalankan setelah mengklik tombol, misalnya:
c:program filessamplesnet.exe
Misalnya, isi kunci registri tombol NetAnts adalah sebagai berikut:
Windows Registry Editor Versi 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions{57E91B47-F40A-11D1- B792 -444553540000}]
"CLSID"="{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}"
"Terlihat Default"="Ya"
"HotIcon"="C:\PROGRA~1\NETANTS\NetAnts.exe,1001"
"Ikon"="C:\PROGRA~1\NETANTS\NetAnts.exe,1000"
"Exec"="C:\PROGRA~1\NETANTS\NetAnts.exe"
"ButtonText"="Semut Bersih"
"MenuTeks"="&Semut Bersih"
"MenuStatusBar"="Launch NetAnts"
Netants akan diluncurkan ketika tombol NetAnts diklik. Dua item berikut dalam kunci registri di atas: kunci MenuText menambahkan item menu ke bilah "Alat" pada menu, dan kunci MenuStatusBar mendefinisikan teks perintah yang ditampilkan di bilah status ketika kursor berpindah ke menu yang ditambahkan batang. Selain itu, di registri
Anda juga dapat menambahkan file bernama
Nilai jenis string dari MenuCustomize. Menetapkan nilai ini ke "Bantuan" akan menyebabkan item menu muncul di bilah menu "Bantuan", jika tidak maka akan muncul di bilah "Alat".
Tentu saja, kami tidak akan puas hanya dengan menambahkan tombol dan menjalankan program. Kami berharap dapat mengontrol halaman saat ini ketika pengguna mengklik tombol, yang ada di HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions di registri.
Buat nilai tipe String baru, dan atur nama menjadi nama path lengkap file html. Sama seperti menambahkan menu klik kanan yang diperkenalkan sebelumnya, IE akan memanggil file tersebut setelah mengklik tombol, dan mengaksesnya dengan mengatur VBScript di dalam. file.Properti menuArguments dari objek eksternal dapat memperoleh halaman di browser. Misalnya, kami akan HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions
Tetapkan nilainya ke c:program filessamp.htm, lalu buat file bernama Samp.htm di bawah c:program files, dan masukkan konten skrip berikut ke dalam file:
Setel objNetSamp=CreateObject("IEContextMenu.IEMenu1")
userURL=external.menuArguments.location.href
Panggil objNetSamp.AddUrl(userURL,"")
Buka browser IE, klik tombol Baru, dan kotak dialog akan muncul untuk menampilkan URL halaman saat ini. Perhatikan bahwa item ini tidak dapat digunakan bersamaan dengan set item Exec sebelumnya.
Terakhir, untuk ikon tombol, IE memerlukan dua ukuran ikon: 20x20 dan 16x16. Yang pertama digunakan untuk tampilan dalam keadaan normal, dan yang terakhir digunakan untuk tampilan dalam layar penuh, sehingga sumber daya ikon yang ditunjukkan oleh HotIcon dan Ikon di atas harusnya. menjadi Kombinasi dari tiga ikon. Spesifikasi ketiga ikon tersebut adalah sebagai berikut:
Ikon 16x16 16 warna (wajib)
Ikon 16 warna 20x20 (opsional)
Ikon 20x20 256 warna (wajib)
Saat mendesain ikon, ikon 256 warna harus menggunakan palet halftone Windows, sedangkan ikon 16 warna harus menggunakan palet warna Windows 16.
http://www.cnblogs.com/goody9807/archive/2006/12/04/581359.html