IE içerik menüsüne (sağ tıklama menüsü) nasıl yeni bir öğe ekleyebileceğimi bilmek istedim, böylece bir web sitesindeki seçili metin kopyalandı, winform uygulamam C# açıldı ve uygulamamdaki metin bir metin kutusuna yapıştırılır.Programımı yürütmek için IE'ye içerik menüsü ekleme
cevap
Programınızı açmak için IE standart bağlam menüsüne giriş ekleyebilirsiniz. Bunu yapmak için şu adımları izleyin:
Açık kayıt ve gidin: yeni bir anahtar oluşturun
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
ve bağlam menüsünde görüntülenmesini istediğiniz metne anahtarın adını ayarlamak örneğin adı gibi:
Open My App
sağ(Default)
tıklayıpModify...
seçip olacak sizin uygulamayı açmak için komutu içeren bir html dosyasının yoluna değerini ayarlayın. Örneğin:C:\OpenMyApp.html
Context
adlı yeniDWORD
değeri ekleyin ve11
veya ondalık17
onaltılık değer olarak ayarlayın. Daha fazla seçenek görmek için documentation'u okuyun. Ayrıca belgeselde ikili eklemek istediği söylenir ama bunun yerineDWORD
denedim ve çalıştı. Ayrıca gördüğüm diğer uzantıları daDWORD
kullanın.Kullanım senin
C:\OpenMyApp.html
için bu içeriği:<script type="text/javascript"> function getSelectionText(w) { var text = ""; if (w.getSelection) { text = w.getSelection().toString(); } else if (w.document.selection && w.document.selection.type != "Control") { text = w.document.selection.createRange().text; } return text; } var parentwin = external.menuArguments; var selection = getSelectionText(parentwin); var oShell = new ActiveXObject("Shell.Application"); var commandtoRun = "C:\\MyApp.exe"; oShell.ShellExecute(commandtoRun,"\""+selection+"\"","","open","1"); </script>
Sonra
C:\MyApp.exe
başvurunuzu kopyalamak için yeterli. Uygulamanız,string[] args
'uMain
giriş noktası için giriş parametreleri olarak veyaEnvironment.GetCommandLineArgs()
kullanarak kabul ederek komut satırı bağımsız değişkenlerini işlemelidir. Sonra argümanı formunuza iletmek ve metin kutunuzda göstermek yeterlidir. Daha fazla bilgi için
:
yaradı! Çok teşekkürler. –
Hoş geldiniz :) –
Hatayı alıyorum: Bu dosya, bu eylemi gerçekleştirmek için ilişkili bir programa sahip değil – Graham