⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vcc25.htm

📁 SHELL排序算法与应用
💻 HTM
字号:
<html>
<head>
<title>c++系列</title>
 
 
 
 
 
 
 
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
 
 
</head>
<p align="center"><script src="../../1.js"></script></a>

<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center> 
  <table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
    <tbody> 
    <tr> 
      <td width=200 height="59"> 
         
    </tr>
    </tbody> 
  </table>
  <table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0 
cellspacing=0 width=685 align="center" height="70">
    <tbody> 
    <tr> 
      <td bgcolor=#F9D23C height=14> 
        <div align=center class=H1> <b>判断windows的Desktop及其它目录</b></font></div>
      </td>
    </tr>
    <tr valign=top> 
      <td class=H1 height=212> 
        <h4 align="center">&nbsp;</h4>
        <p><font color="#FF0000"><br>
           <span class="unnamed1">使用API函数SHGetSpecialFolder。shlobj.h里有SHGetSpecialFolder的原型声明。这个函数可以帮我们找到windows的Desktop目录、启动目录、我的文档目录等。 
          </span></font></font></p>
        <p> <span class="unnamed1">SHGetSpecialFolder需要三个参数。 
          第一个参数是HWND,它指定了&quot;所有者窗口&quot;:在调用这个函数时可能出现的对话框或消息框。第二个参数是一个整数id,决定哪个目录是待查找目录,它的取值可能是: 
          </span></font>
        <ul type="disc">
          <li> <span class="unnamed1">CSIDL_BITBUCKET 回收站 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_CONTROLS 控制面板 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_DESKTOP Windows 
            桌面desktop </span></font></li>
          <li> <span class="unnamed1">CSIDL_DESKTOPDIRECTORY 
            desktop的目录 </span></font></li>
          <li> <span class="unnamed1">CSIDL_DRIVES 我的电脑 </span></font></li>
          <li> <span class="unnamed1">CSIDL_FONTS 字体目录 </span></font></li>
          <li> <span class="unnamed1">CSIDL_NETHOOD 网上邻居 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_NETWORK 网上邻居virtual 
            folder </span></font></li>
          <li> <span class="unnamed1">CSIDL_PERSONAL 我的文档 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_PRINTERS 打印机 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_PROGRAMS 程序组 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_RECENT 大多数最近打开的文档列一 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_SENDTO “发送到”菜单项 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_STARTMENU 任务条启动菜单项 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_STARTUP 启动目录 
            </span></font></li>
          <li> <span class="unnamed1">CSIDL_TEMPLATES 临时文档 
            </span></font></li>
        </ul>
        <p>  最后一个参数是pidl地址。SHGetSpecialFolderLocation把地址写到pidl。</span></font></p>
        <p> <span class="unnamed1">下面的代码演示了怎样使用SHGetSpecialFolderLocation:</span></font></p>
        <pre>  <font size="4">//----------------------------------------------------------------------</font>
<b>void __fastcall</b> TForm1::Button1Click(TObject *Sender)
{
    LPITEMIDLIST  pidl;
    LPMALLOC      pShellMalloc;
    <b>char</b>          szDir[MAX_PATH];
&nbsp;
    <b>if</b>(SUCCEEDED(SHGetMalloc(&amp;pShellMalloc)))
    {
        <b>if</b>(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
                                                CSIDL_DESKTOPDIRECTORY,
                                                &amp;pidl)))
        {
            // 如果成功返回true
            <b>if</b>(SHGetPathFromIDList(pidl, szDir))
            {
                Label1-&gt;Caption = szDir;
            }
&nbsp;
            pShellMalloc-&gt;Free(pidl);
        }
&nbsp;
        pShellMalloc-&gt;Release();
    }
}
//----------------------------------------------------------------------</span></font></pre>
        <p>  <b>注意:</b> 有些目录是空的。有些特定的目录在这个文件系统上并没有一个相应的目录。</span></font></p>
        <p>  转载自C++Builder园地 </span></font>
         
      </td>
    </tr>
    </tbody> 
  </table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -