将上下文菜单添加到 IE 以执行我的程序
Adding context menu to IE to execute my program
我想知道如何将新项目添加到 IE 上下文菜单(右键单击菜单),以便复制从网站中选择的文本,打开我的 winform 应用程序 C# 并将文本粘贴到我的应用程序中的文本框。
您可以在 IE 标准上下文菜单中添加一个条目来打开您的程序。为此,请按照下列步骤操作:
打开注册表并转到:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
创建一个新的key,将key的名称设置为你想要在上下文菜单中显示的文本作为名称,例如:Open My App
右键单击 (Default)
并选择 Modify...
并将值设置为 html 文件的路径,该文件将包含打开应用程序的命令。例如:C:\OpenMyApp.html
添加一个名为 Context
的新 DWORD
值并将其值设置为十六进制 11
或十进制 17
。要查看更多选项,请阅读 documentation。同样在文档中说要添加二进制文件,但我尝试了 DWORD
并且它起作用了。我还看到其他扩展使用 DWORD
.
将此内容用于您的 C:\OpenMyApp.html
:
<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>
然后将您的应用程序复制到 C:\MyApp.exe
就足够了。您的应用程序应通过接受 string[] args
作为 Main
入口点的输入参数或使用 Environment.GetCommandLineArgs()
来处理命令行参数。然后将参数传递给您的表单并将其显示在您的文本框中就足够了。
更多信息:
我想知道如何将新项目添加到 IE 上下文菜单(右键单击菜单),以便复制从网站中选择的文本,打开我的 winform 应用程序 C# 并将文本粘贴到我的应用程序中的文本框。
您可以在 IE 标准上下文菜单中添加一个条目来打开您的程序。为此,请按照下列步骤操作:
打开注册表并转到:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
创建一个新的key,将key的名称设置为你想要在上下文菜单中显示的文本作为名称,例如:
Open My App
右键单击
(Default)
并选择Modify...
并将值设置为 html 文件的路径,该文件将包含打开应用程序的命令。例如:C:\OpenMyApp.html
添加一个名为
Context
的新DWORD
值并将其值设置为十六进制11
或十进制17
。要查看更多选项,请阅读 documentation。同样在文档中说要添加二进制文件,但我尝试了DWORD
并且它起作用了。我还看到其他扩展使用DWORD
.将此内容用于您的
C:\OpenMyApp.html
:<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>
然后将您的应用程序复制到
C:\MyApp.exe
就足够了。您的应用程序应通过接受string[] args
作为Main
入口点的输入参数或使用Environment.GetCommandLineArgs()
来处理命令行参数。然后将参数传递给您的表单并将其显示在您的文本框中就足够了。
更多信息: