zoukankan      html  css  js  c++  java
  • WinAPI: ShellExecute

    ShellExecute(
      hWnd: HWND;        {指定父窗口句柄}
      Operation: PChar;  {指定动作, 譬如: open、print}
      FileName: PChar;   {指定要打开的文件或程序}
      Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
      Directory: PChar;  {缺省目录}
      ShowCmd: Integer   {打开选项}
    ): HINST;            {执行成功会返回应用程序句柄; 如果这个值 <= 32, 表示执行错误}
    
    //返回值可能的错误有:
                           = 0   {内存不足}
    ERROR_FILE_NOT_FOUND   = 2{文件名错误}
    ERROR_PATH_NOT_FOUND   = 3{路径名错误}
    ERROR_BAD_FORMAT       = 11; {EXE 文件无效}
    SE_ERR_SHARE           = 26; {发生共享错误}
    SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}
    SE_ERR_DDETIMEOUT      = 28; {超时}
    SE_ERR_DDEFAIL         = 29; {DDE 事务失败}
    SE_ERR_DDEBUSY         = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务}
    SE_ERR_NOASSOC         = 31; {没有相关联的应用程序}
    
    //ShowCmd 参数可选值:
    SW_HIDE            = 0{隐藏}
    SW_SHOWNORMAL      = 1{用最近的大小和位置显示, 激活}
    SW_NORMAL          = 1{同 SW_SHOWNORMAL}
    SW_SHOWMINIMIZED   = 2{最小化, 激活}
    SW_SHOWMAXIMIZED   = 3{最大化, 激活}
    SW_MAXIMIZE        = 3{同 SW_SHOWMAXIMIZED}
    SW_SHOWNOACTIVATE  = 4{用最近的大小和位置显示, 不激活}
    SW_SHOW            = 5{同 SW_SHOWNORMAL}
    SW_MINIMIZE        = 6{最小化, 不激活}
    SW_SHOWMINNOACTIVE = 7{同 SW_MINIMIZE}
    SW_SHOWNA          = 8{同 SW_SHOWNOACTIVATE}
    SW_RESTORE         = 9{同 SW_SHOWNORMAL}
    SW_SHOWDEFAULT     = 10; {同 SW_SHOWNORMAL}
    SW_MAX             = 10; {同 SW_SHOWNORMAL}

    //举例说明更多问题(别忘了 uses ShellAPI;):
    
    {譬如用记事本打开一个文件}
    begin
      ShellExecute(Handle, 'open', 'notepad.exe', 'C:WINDOWSSchedLgU.Txt', nil, SW_SHOWNORMAL);
    end;

    {第一个参数是用来当作错误提示窗口的父窗口的, 不能是 nil, 可以是 0(也就是桌面窗口)}
    begin
      ShellExecute(0, 'open', 'notepad.exe', 'C:WINDOWSSchedLgU.Txt', nil, SW_SHOWNORMAL);
    end;

    {第二个参数如果是 nil, 也会默认位 open}
    begin
      ShellExecute(0, nil, 'notepad.exe', 'C:WINDOWSSchedLgU.Txt', nil, SW_SHOWNORMAL);
    end;

    {文件路径可以放在参数五}
    begin
      ShellExecute(0, nil, 'notepad.exe', 'SchedLgU.Txt', 'C:WINDOWS', SW_SHOWNORMAL);
    end;

    {把参数三直接指定为要打开的文件, 文件将用对应默认程序打开; 次数参数四应为 nil}
    begin
      ShellExecute(0, nil, 'SchedLgU.Txt', nil, 'C:WINDOWS', SW_SHOWNORMAL);
    end;

    {如果文件在: 程序目录/当前目录/System32/Windows/PATH环境变量中, 参数五也可以 nil}
    begin
      ShellExecute(0, nil, 'SchedLgU.Txt', nil, nil, SW_SHOWNORMAL);
    end;

    {如果参数三是个文件, 可以用参数二命令打印}
    begin
      ShellExecute(0, 'print', 'SchedLgU.Txt', nil, nil, 1);
    end;

    {用 IE 打开网页}
    begin
      ShellExecute(Handle, 'open', 'IExplore.EXE', 'about:blank', nil, SW_SHOWNORMAL);
    end;

    {用火狐打开网页}
    begin
      ShellExecute(Handle, 'open', 'firefox.exe', 'about:blank', nil, SW_SHOWNORMAL); 
    end;

    {用默认浏览器打开网页}
    begin
      ShellExecute(Handle, 'open', 'Explorer.exe', 'about:blank', nil, SW_SHOWNORMAL);
    end;

    {还是用默认浏览器打开网页}
    begin
      ShellExecute(0, nil, 'http://del.cnblogs.com', nil, nil, 1);
    end;

    来自http://www.cnblogs.com/del/archive/2008/02/13/1068229.html


  • 相关阅读:
    SAP PI 如何实现消息定义查询
    EWM与ERP交互程序
    ITS Mobile Template interpretation failed. Template does not exist
    SAP Material Flow System (MFS) 物料流系统简介
    SAP EWM Table list
    EWM RF 屏幕增强
    SAP EWM TCODE list
    SAP扩展仓库管理(SAPEWM)在线研讨会笔记
    ERP与EWM集成配置ERP端组织架构(二)
    EWM RF(Radio Frequency)简介
  • 原文地址:https://www.cnblogs.com/lpxblog/p/4607276.html
Copyright © 2011-2022 走看看