`
zhaozhongwei
  • 浏览: 54544 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

在action中获得shell

阅读更多

今天要用到点右键的时候弹出一个向导窗口(WizardDialog),向导窗口的构造函数里有需要传个Shell,而在action里我不知道怎么得到Shell,所以小小研究一下.

先把我的扩展点贴出来

   <extension point="org.eclipse.ui.popupMenus">
      <objectContribution
         id="com.xyz.C3"
         objectClass="org.eclipse.core.resources.IFile"
         nameFilter="struts-config-*">
         <action
            id="com.xyz.runXYZ"
            label="properties tool"
            class="chinese2pingyin.actions.TransformAction">
         </action>
      </objectContribution>
   </extension>

所以我的TransformAction需要实现org.eclipse.ui.IObjectActionDelegate接口,所以需要实现setActivePart(IAction action, IWorkbenchPart targetPart)方法

这里我在TransformAction定义一个成员变量

private IWorkbenchPart fWorkbenchPart= null;

在setActivePart方法里

 public void setActivePart(IAction action, IWorkbenchPart targetPart) {
  fWorkbenchPart = targetPart;
 }

这时候就可以在run方法里

final IWorkbenchWindow window= fWorkbenchPart.getSite().getWorkbenchWindow();

Shell shell = window.getShell();

这样就得到Shell 了!

没有技术含量,但希望能为和我有一样问题的人节省点时间

2
0
分享到:
评论
2 楼 banditgao 2008-12-11  
顶你来的      
1 楼 styleself 2008-12-01  
楼主的新朋友。。
顶下楼主。。。

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()
这个也能取到。。不知道可否。。

相关推荐

    Action——Action的配置和作用

    在讨论Struts2框架时,我们经常会遇到一个关键词——Action,它在Struts2中扮演着非常关键的角色。今天我们就来探讨Action的含义、作用以及在Struts2框架中的配置。 首先,Action在Struts2中包含三层含义。第一层,...

    shell、awk编程教材

    SHELL中有很多特殊符号,如`$`用于引用变量,`#`用于注释,`&`表示后台执行,`|`用于管道,`&gt;`和`用于重定向等。 **4.2 变量** SHELL中的变量分为用户自定义变量、环境变量和只读变量。 - **用户自定义变量**:...

    代码审计之youdiancms最新版getshell漏洞1

    在后台模板管理中,我们可以修改模板,但是对有检测,我们可以用来绕过这个检测。然后,我们可以编写脚本得到超级管理员的session,然后登录。 这篇文章详细讲解了youdiancms最新版getshell漏洞的发现和利用过程,...

    android adb shell

    7. **`adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --es level 100`**:广播一个自定义的 Intent。 #### 四、ADB Shell 的应用场景 ADB Shell 可以应用于多个不同的场景,下面是一些常见的...

    前端大厂最新面试题-shell.docx

    在 Shell 中,我们可以像使用 C++、C#、Java、Python 等常见的编程语言一样进行编程。Shell 虽然没有 C++、Java、Python 等强大,但也支持了基本的编程元素,例如: * if...else 选择结构,case...in 开关语句,for...

    windows_powershell_in_action_2nd_edition

    更重要的是,由于作者是PowerShell的设计者之一,因此书中包含了许多鲜为人知的内部信息和使用技巧,这些都是在其他书籍中很难找到的。 本书不仅在内容上受到赞誉,其组织结构和写作风格也同样获得了读者的肯定。...

    shell最全基础2020年入门—从熟悉grep、sed、awk开始

    在Shell中,用户可以进行文件管理、进程控制、环境变量设置等操作。例如,`cd`用于切换目录,`ls`列出目录内容,`touch`创建新文件,`cp`和`mv`分别用于复制和移动文件,`rm`删除文件或目录。此外,`echo`用于打印...

    linux shell awk获得外部变量(变量传值)简介

    涉及到以上六个方面内容,我会在以后文章中加以介绍。 这次主要说下,怎么样把外部变量传入到awk执行语句中。 一、基础: awk [ -F re] [parameter…] [‘pattern {action}’ ] [-f progfile][in_file…] awk一般...

    科讯kesioncms 5.5以下漏洞拿shell方法的原理总结

    对于KesionCMSV4.x和V5.x版本,由于先前版本中的漏洞得到了改进,攻击者则利用了不同的方法。主要思路是通过后台数据库备份功能,配合已获取的用户名和密码,上传gif木马,记住其路径。然后,攻击者访问/admin/ks....

    mongoDB in action

    - **编程语言集成**:MongoDB提供了多种语言驱动程序,如Java、Python、Node.js等,方便开发者在其应用中集成MongoDB。 - **典型应用场景**: - **内容管理系统**:利用MongoDB存储非结构化数据,如文章、图片、...

    groovy in action中文版(1)

    这意味着开发者可以在现有的Java项目中轻松引入Groovy代码,或者创建全新的Groovy应用程序。 **1.1.2 与Java共事:无缝集成** Groovy的设计初衷之一就是能够与Java无缝集成。这种集成体现在多个方面: - **语法...

    MongoDB in Action, 2nd Edition

    本书的标题和部分内容中提到的"MongoDB in Action"可以理解为一系列实践案例的集合,旨在帮助读者了解如何在实际项目中使用MongoDB。这些案例可能包括但不限于数据库设计、数据操作、索引优化、复制和分片配置、以及...

    【实战篇】第19篇:ThinkSNS_V4 后台任意文件下载导致Getshell1

    在2017年9月13日的这个版本中,发现了一个在/apps/admin/Lib/Action/UpgradeAction.class.php文件中的安全问题。 漏洞的根源在于程序的升级功能。在第168至189行的代码中,程序备份原有的配置文件,然后尝试下载一...

    shell编程---awk 培训资料

    awk是一种强大的文本分析工具,尤其在处理和分析日志文件、配置文件等文本数据时,它的简洁性和高效性得到了广泛的认可。awk的设计理念是让开发者能够快速定位和操作文件中的特定行和字段,从而实现数据的筛选、格式...

    [【原创】] FineCMS的注入和getshell1

    在某些情况下,可以通过SQL注入直接执行系统命令,从而获得对服务器的完全控制。 - **利用漏洞上传WebShell**:如果发现系统中存在其他漏洞(如文件上传漏洞),则可以直接利用这些漏洞上传WebShell。 - **利用SQL...

    wxpython-in-action-zh

    - **添加UI组件**: 在应用程序中添加必要的用户界面组件。 #### 二、创建wxPython应用程序的基础 1. **理解wxPython的对象模型**: - **对象层次结构**: - `wx.App`: 所有wxPython应用程序的基础类。 - `wx....

    MongoDB_in_Action

    - 适合初学者和有经验的开发者阅读,无论是想要快速上手还是深入研究MongoDB的开发者,都能从本书中获得宝贵的资源。 - 本书的Java标签提示了它还特别关注了MongoDB与Java开发环境的集成,对于使用Java进行开发的...

    利用udev处理U盘信息,得到U盘路径等

    在Linux系统中,udev是设备管理系统的核心组成部分,它负责动态管理和命名硬件设备。当我们插入一个U盘时,udev会自动检测到这个事件,并为U盘分配一个设备节点,提供访问U盘的路径。这个过程涉及到了Linux内核、USB...

Global site tag (gtag.js) - Google Analytics