`
qzriso
  • 浏览: 242655 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

ShellExecute API使用

    博客分类:
  • vb
UI 
阅读更多

1.  执行“打开”,“查找”,“资源管理器”和“打印”必要的声明:

’ nShowCmd
Public Const SW_HIDE = 0
Public Const SW_SHOWNORMAL = 1
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_MAXIMIZE = 3
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOW = 5
Public Const SW_MINIMIZE = 6
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_RESTORE = 9

’ Error Code
Public Const ERROR_FILE_NOT_FOUND = 2
Public Const ERROR_PATH_NOT_FOUND = 3
Public Const ERROR_BAD_FORMAT = 11

Public Const SE_ERR_FNF = 2
Public Const SE_ERR_PNF = 3
Public Const SE_ERR_ACCESSDENIED = 5
Public Const SE_ERR_OOM = 8
Public Const SE_ERR_SHARE = 26
Public Const SE_ERR_ASSOCINCOMPLETE = 27
Public Const SE_ERR_DDETIMEOUT = 28
Public Const SE_ERR_DDEFAIL = 29
Public Const SE_ERR_DDEBUSY = 30
Public Const SE_ERR_NOASSOC = 31
Public Const SE_ERR_DLLNOTFOUND = 32

Public Declare Function ShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" _
    (ByVal hwnd As Long, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long



“打开“操作
            ShellExecute Me.hwnd, "open", _
                    Text1.Text, _
                    vbNullString, vbNullString, _
                    SW_SHOWNORMAL


“查找“操作
        ShellExecute Me.hwnd, "find", _
                LocalDir, _
                vbNullString, vbNullString, _
                SW_SHOWNORMAL


“打印“操作
            ShellExecute Me.hwnd, "print", _
                    Text1.Text, _
                    vbNullString, vbNullString, _
                    SW_SHOWNORMAL


“资源管理器“
        ShellExecute Me.hwnd, "explore", _
                LocalDir, _
                vbNullString, vbNullString, _
                SW_SHOWNORMAL


打开“我的文档“
    ShellExecute Me.hwnd, _
        "open", "explorer", _
        vbNullString, vbNullString, _
        SW_SHOWNORMAL


打开“我的电脑“
’ 我的电脑
’ HKEY_CLASSES_ROOTCLSID’ {20D04FE0-3AEA-1069-A2D8-08002B30309D}

    ShellExecute Me.hwnd, "open", _
        "explorer", _
        "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", _
        vbNullString, SW_SHOWNORMAL


打开“网上邻居“
’ 网上邻居
’ HKEY_CLASSES_ROOTCLSID’ {208D2C60-3AEA-1069-A2D7-08002B30309D}

    ShellExecute Me.hwnd, "open", _
        "explorer", _
        "::{208D2C60-3AEA-1069-A2D7-08002B30309D}", _
        vbNullString, SW_SHOWNORMAL


打开“回收站“
’ 回收站
’ HKEY_CLASSES_ROOTCLSID’ {645FF040-5081-101B-9F08-00AA002F954E}

    ShellExecute Me.hwnd, "open", _
        "explorer", _
        "::{645FF040-5081-101B-9F08-00AA002F954E}", _
        vbNullString, SW_SHOWNORMAL


ShellExecuteEx API演示
必要声明:
Public Type SHELLEXECUTEINFO
    cbSize As Long
    fMask As Long
    hwnd As Long
    lpVerb As String
    lpFile As String
    lpParameters As String
    lpDirectory As String
    nShow As Long
    hInstApp As Long
    ’  Optional fields
    lpIDList As Long
    lpClass As String
    hkeyClass As Long
    dwHotKey As Long
    hIcon As Long
    hProcess As Long
End Type

’ fMask
Public Const SEE_MASK_CLASSKEY = &H3
Public Const SEE_MASK_CLASSNAME = &H1
Public Const SEE_MASK_CONNECTNETDRV = &H80
Public Const SEE_MASK_DOENVSUBST = &H200
Public Const SEE_MASK_FLAG_DDEWAIT = &H100
Public Const SEE_MASK_FLAG_NO_UI = &H400
Public Const SEE_MASK_HOTKEY = &H20
Public Const SEE_MASK_ICON = &H10
Public Const SEE_MASK_IDLIST = &H4
Public Const SEE_MASK_INVOKEIDLIST = &HC
Public Const SEE_MASK_NOCLOSEPROCESS = &H40

Public Declare Function ShellExecuteEX Lib "shell32.dll" _
    Alias "ShellExecuteEx" _
    (lpExecInfo As SHELLEXECUTEINFO) As Boolean


执行调用“文件属性“对话框
    Dim dwReturn As Long
    Dim lpExecInfo As SHELLEXECUTEINFO
    
    With lpExecInfo
        .cbSize = Len(lpExecInfo)
        .fMask = SEE_MASK_NOCLOSEPROCESS Or _
                 SEE_MASK_INVOKEIDLIST Or _
                 SEE_MASK_FLAG_NO_UI
        .hwnd = Me.hwnd
        .lpVerb = "properties"
        .lpFile = LocalDir & File1.FileName
        .lpParameters = vbNullChar
        .lpDirectory = vbNullChar
        .nShow = SW_SHOWNORMAL
        .hInstApp = 0
        .lpIDList = 0
    End With
    
    dwReturn = ShellExecuteEX(lpExecInfo)

分享到:
评论

相关推荐

    win7 shell shellexecute

    标签“win7 shell shellexecute”表明这是关于Windows 7系统下的ShellExecute API使用和相关问题的讨论,可能涵盖了如何在该环境下正确使用此函数、解决兼容性问题以及优化用户体验等内容。 至于文件列表中的...

    C#中使用API函数ShellExecute源码

    ### C#中使用API函数ShellExecute源码解析 在C#开发中,有时我们需要调用系统的一些高级功能,比如打开一个文件、启动一个程序或发送邮件等操作。这些功能可以通过调用Windows API来实现,而`ShellExecute`就是其中...

    Delphi中ShellExecute的妙用_ShellExecute的使用方法介绍_

    ShellExecute是Windows API中的一个函数,其主要作用是启动应用程序或执行与文件关联的操作。在Delphi中,我们通常通过导入`ShellAPI`单元来使用它。函数的基本语法如下: ```delphi function ShellExecute(hwnd: ...

    ShellExecute使用详解

    ShellExecute 使用详解 ShellExecute 是一个功能强大的 API 函数,可以用来运行 executable 文件、打开文件、浏览文件夹、发送电子邮件等。它是 Windows 操作系统中的一部分,可以被 Delphi、C++ Builder 等开发...

    精选_使用ShellExecute函数实现以管理员身份运行程序_源码打包

    `ShellExecute`是Windows API提供的一种功能强大的函数,它允许应用程序执行各种操作,包括打开文件、打印文档、发送邮件等,而且可以处理以管理员权限运行程序的请求。 首先,让我们了解`ShellExecute`函数的基本...

    APIHook ShellExecute你双击快捷方式,我就能记录下来.你双击的任何快捷方式我都知道.zip

    在这个特定的案例中,"APIHook ShellExecute"指的是利用API钩子技术来监控Windows操作系统中的`ShellExecute`函数。`ShellExecute`是Windows API提供的一种功能,它允许程序执行各种操作,包括打开文件、运行程序、...

    ShellExecute(打开程序)

    ShellExecute 是 Windows API 中的一个重要函数,主要用于在操作系统壳层执行各种操作,如打开文件、打印文件、浏览文件夹等。这个函数的强大之处在于它能够处理多种类型的文件,并且能够根据文件类型调用相应的应用...

    在C语言源程序中调用API函数ShellExecute

    ### 在C语言源程序中调用API函数ShellExecute #### 一、概述 在C语言编程中,有时候我们需要实现的功能不仅仅是简单的数据处理或是算法逻辑,还需要与其他应用进行交互,比如打开一个文件、启动一个程序等。为了...

    shellexecute与shellexecuteex的区别

    在探讨“shellexecute与shellexecuteex的区别”这一主题时,我们深入到Win32和Windows CE系统中自带的两种用于打开或执行外部应用程序的API函数——`ShellExecute`与`ShellExecuteEx`。这两者在功能上相似,但实现...

    C#ShellExecute示例源代码

    `ShellExecute`方法并不是C#内置的一部分,而是通过P/Invoke技术调用Windows API实现的。下面我们将详细讨论`ShellExecute`的使用方法、应用场景以及相关的源代码示例。 首先,`ShellExecute`方法在`System....

    apihook ShellExecute谁运行哪个程序我都知道 监视哪个进程启动了哪个进程.zip

    通过设置API钩子,开发者可以监控或控制其他进程的行为,例如在本例中,“apihook ShellExecute”意在追踪哪个进程使用`ShellExecute` API启动了其他程序。 `ShellExecute`是Windows API中的一个重要函数,它允许...

    vc ShellExecute 实现超连接

    1. Windows API `ShellExecute` 的使用。 2. 处理WM_MOUSEMOVE和WM_MOUSELEAVE消息以实现动态效果。 3. GDI+或者Windows API进行颜色操作。 4. 创建响应点击事件的回调函数,通过`ShellExecute`打开URL。 5. 控件...

    ShellExecute和CreateProcess打开指定程序

    这两种方法都是Windows API提供的功能,用于执行应用程序,但它们在使用场景和特性上有所不同。 **ShellExecute** ShellExecute是Windows Shell服务的一部分,位于shell32.dll库中。它的主要优点在于简洁易用,...

    System WinExec ShellExecute CreateProcess用法总结

    在这个例子中,`ShellExecute`不仅启动了记事本,还能处理文件类型关联,比如如果用户更改了.txt文件的默认打开程序,`ShellExecute`会使用新的程序打开文本文件。 总结,这三种方法各有优缺点。`system`简单易用,...

    API助手,windows系统API

    API助手是一款专为Windows系统设计的实用工具,它主要用于帮助开发者查询和理解系统API的参数及使用方法。在Windows操作系统中,API(Application Programming Interface)是操作系统提供给开发者用于构建应用程序的...

    windows下C语言基于WIN32 API的同步方式读PC串口

    本教程主要讲解如何使用C语言和WIN32 API来实现同步方式读取PC串口的数据。这种方式不依赖于特定的控件或类库,而是直接调用Windows系统提供的API函数,具有较高的灵活性和控制性。 首先,我们需要理解什么是串口...

    AudioCDDlg.rar_Run To You_shellexecute

    Auto-Run to media files or already playlist file you had one by using ShellExecute API for OSMSWindowsX

    vb6.0调用选择路径的API例子

    在VB6.0中,由于内置的控件可能无法满足所有需求,开发者会使用API调用来扩展其功能。 在VB6.0中调用API函数需要以下步骤: 1. **导入API函数**:首先,你需要导入相应的API函数。在VB6中,这通常通过`Declare`...

    A freeware application + source code to call the ShellExecut

    这个应用程序可能是为了教学目的或帮助开发者更好地理解和使用ShellExecute API。 描述中提到的"68KB"是该应用程序的大小,表明这是一个相对轻量级的工具,可能只包含基本功能和示例代码。通常,这样的资源对于初学...

    API进程与线程函数WinExec、ShellExecute、LoadLibrary、FreeLibrary.pdf

    API 进程与线程函数WinExec、ShellExecute、LoadLibrary、FreeLibrary API 进程与线程函数是 Windows 操作系统中的一些基本函数,它们负责管理进程和线程的创建、执行和销毁。在这篇文章中,我们将详细介绍 WinExec...

Global site tag (gtag.js) - Google Analytics