ShellExecute函数简单说明

平时在delphi写代码的过程中总是能遇到ShellExecute函数,于是索性将它的使用方法整理一下,由于我在微软的站点上也没能查到个详解(当然我查的中文版,俺菜嘛)

ShellExecute函数原型及參数含义例如以下:

  function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;

  ●hWnd:用于指定父窗体句柄。当函数调用过程出现错误时,它将作为Windows消息窗体的父窗体。比如,能够将其设置为应用程序主窗体句柄,即 Application.Handle,也能够将其设置为桌面窗体句柄(用GetDesktopWindow函数获得)。

   ●Operation:用于指定要进行的操作。
当中“open”操作表示运行由FileName參数指定的程序,或打开由FileName參数指定的文件或目录;
“print”操作表示打印由FileName參数指定的文件;
“explore”操作表示浏览由FileName參数指定的目录。
当參数设为nil时,表示运行默认操作“open”;
edit  编辑;
find  搜寻
最后这两个是在别的站点上找到的,没有验证是不是这样。

  ●FileName:用于指定要打开的文件名称、要运行的程序文件名称或要浏览的目录名。

  ●Parameters:若FileName參数是一个可运行程序,则此參数指定命令行參数,否则此參数应为nil或PChar(0)。

  ●Directory:用于指定默认目录。

  ●ShowCmd:若FileName參数是一个可运行程序,则此參数指定程序窗体的初始显示方式,否则此參数应设置为0
此參数可为下列值之中的一个

DisplayState 含义
HIDE 0 隐藏窗体并激活其它窗体
SHOWNORMAL 1 激活并显示一个窗体
假设窗体是最小化或最大化, 将其还原到其原始大小和位置 (同 RESTORE)
SHOWMINIMIZED 2 激活窗体并最小化
SHOWMAXIMIZED 3 激活窗体并最大化
SHOWMINNOACTIVATE 4 以近期的大小和位置显示窗体
当前活动窗体保持活动
SHOW 5 激活窗体并显示其当前大小和位置中
MINIMIZE 6 最小化指定窗体并激活系统列表中顶层窗体
SHOWMINNOACTIVE 7 以最小化模式显示窗体
当前活动窗体保持活动
SHOWNA 8 以近期的状态显示窗体
当前活动窗体保持活动
RESTORE 9 激活窗体并显示
假设窗体是最小化或最大化,还原到其原始大小和位置 (同SHOWNORMAL)

补充:
MAXIMIZE : 最大化窗体

  若ShellExecute函数调用成功,则返回值为被运行程序的实例句柄。若返回值小于32,则失败,有下列几种回应值:
   2 错误的关联 (比如:不合法的 URL)
  29 关联失败
  30 关联应用程式忙碌中...
  31 没有关联不论什么应用程式。

时间: 2024-10-08 07:22:22

ShellExecute函数简单说明的相关文章

转:ShellExecute函数与ShellExecuteEx函数

ShellExecute函数 ShellExecute函数原型及參数含义例如以下: function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; hWnd:用于指定父窗体句柄.当函数调用过程出现错误时,它将作为Windows消息窗体的父窗体.比如,能够将其设置为应用程序主窗体句柄,即 Application.Handle,

VC API常用函数简单例子大全[转]

第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName); 第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替. 比如现在有一个窗口名为"无标题.txt - 记事本"的记事本程序.那么我就可以用上面的函数获得这个

ShellExecute函数

原文来自:http://blog.csdn.net/yanjiaye520/article/details/6543165 有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess.1.CreateProcess因为使用复杂,比较少用.2.WinExec主要运行EXE文件.如:WinExec('Notepad.exe Readme.txt', SW_SHOW);3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件. 首先必须引

tchar 输入输出类 和 string 类 函数简单说明 总结各种前缀后缀

标准输入输出printf类_tprintf : 类同printf_tprintf_l : 类同printf, 但是"_l"表示第二个参数是一个locale.locale是操作系统对语言设定的参数, 这个会影响ANSI字符的语言识别, 在Unicode下应该是无差别的_tprintf_s : 类图printf, 但是和_tprintf相比, _tprintf_s多会做一些检查工作.如果你的"format string"是动态的, 这个能帮助你._tprintf_s_l

java8 函数引用 -> 一种利用现有函数简单推理为函数表达式即简化的函数表达式

// ***java8 函数引用 -> 一种利用现有函数简单推理为函数表达式即简化的函数表达式(省去了参数,-> 符号,只有更简化函数表达式体),[从而生成对应接口实现类默认的抽象方法体].*** // 函数表达式可以推理成java的匿名类,那么现有的函数就可以推理成函数表达式.只要现有的函数符合要生成的方法的签名即可(入参,返回值,函数名无关紧要) // 参数和返回值有编译器从上下文获得.从而省去了参数.只提供方法名就可以. // 所以(arg) -> {} 函数表达式,可以简化为利用

Oracle的REGEXP_INSTR函数简单使用方法

REGEXP_INSTR函数让你搜索一个正則表達式模式字符串. 函数使用输入字符集定义的字符进行字符串的计算. 它返回一个整数,指示開始或结束匹配的子位置.这取决于return_option參数的值.假设没有找到匹配.则函数返回0. 语法 Oracle数据库中的REGEXP_INSTR函数的语法是: REGEXP_INSTR (source_char, pattern [, position [, occurrence [, return_option [, match_parameter ]

闭包 构建函数 简单工厂模式

今天收获比较多,仿佛无意中打通了七筋八脉,想通了一些原理性的东西.对js有了更深的理解. 首先说说闭包,闭包在我们实际开发中处处被用到,那个它到底是个什么东西呢? var user=(function(){ var USER={ name:"mapleTao", password:"123456" } return { getName:function(){ return USER.name; }, getPassword:function(){ return US

C语言。自定义函数简单版

#include <stdio.h> //函数声明 void sayHi(); //函数实现 void sayHI() { printf("大家好!!\n"); } int main(int argc, const char * argv[]) { // 函数调用 sayHI(); return 0; } 这基本是最简单的函数了, 运行之后是这样 sayHI()就是我自己定义的函数了. 这个是最简单的 .  下面我再举一个例子. #include <stdio.h&g

Oracle的REGEXP_INSTR函数简单用法

REGEXP_INSTR函数让你搜索一个正则表达式模式字符串.函数使用输入字符集定义的字符进行字符串的计算. 它返回一个整数,指示开始或结束匹配的子位置,这取决于return_option参数的值.如果没有找到匹配,则函数返回0. 语法 Oracle数据库中的REGEXP_INSTR函数的语法是: REGEXP_INSTR (source_char, pattern [, position [, occurrence [, return_option [, match_parameter ] ]