zoukankan      html  css  js  c++  java
  • 如何用代码定位硬盘上的文件

    问题:如何用代码控制资源浏览器,并定位到指定的文件?

    答:使用ShellExecute,配合explorer即可

    ShellExecute(Application.Handle, 'open', PChar('explorer'), PChar('/select,”D:ssee est.txt”'), nil, SW_SHOWDEFAULT)

    下面给出具体解释

    1Explorer.exe

    鲜为人知的参数 收藏 Windows中,相信大家对“Explorer.exe”并不陌生!通常情况下,在开始运行中输 入“Explorer.exe”命令就能以资源管理器方式打开我的文档。其实,Explorer.exe还有很多鲜为人知的参数。  命令格式

      Explorer [/n][/e][[,/root],[path]][[,/select],[path filename]]

      参数说明

      /n表示以我的电脑方式打开一个新的窗口,通常打开的是Windows安装分区的根目录。

      /e表示以资源管理器方式打开一个新的窗口,通常打开的也是Windows安装分区的根目录。

      /root,[path]表示打开指定的文件夹,/root表示只显示指定文件夹下面的文件(夹),不显示其它磁盘分区和文件夹;[path]表示指定的路径。

      如果不加/root参数,而只用[path]参数,则可以显示其它磁盘分区和文件夹中的内容。另外,[path]还可以指定网络共享文件夹。

      /select,[path filename]表示打开指定的文件夹并且选中指定的文件,[path filename]表示指定的路径和文件名。

      如果不加/select参数,则系统会用相应的关联程序打开该文件。如果[path filename]不跟文件名就会打开该文件夹的上级目录并选中该文件夹。

    2ShellExecute

     

    ShellExecute(

      hWnd: HWND;        {指定父窗口句柄}

      Operation: PChar;  {指定动作, 譬如: openprint}

      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;

  • 相关阅读:
    手把手教你利用create-nuxt-app脚手架创建NuxtJS应用
    初识NuxtJS
    webpack打包Vue应用程序流程
    用选择器代替表格列的筛选功能
    Element-UI
    Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
    Sparse Principal Component Analysis via Rotation and Truncation
    Generalized Power Method for Sparse Principal Component Analysis
    Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
    Truncated Power Method for Sparse Eigenvalue Problems
  • 原文地址:https://www.cnblogs.com/blogpro/p/11426564.html
Copyright © 2011-2022 走看看