现在有很多关于如何用VB获得Windows目 录的文章,但大都只讲到如何获得Windows目录和System目录,有时候我们却需要获得像"我的文档"这样的目录("我的文档"的路径并不是固定 的,可以由自己设定,也有可能因为系统的安装路径不同而不同),那又该如何处理呢?下面我们来具体谈谈如何用VB获得这种路径。
  先向大家介绍两个API函数,这两个函数分别是SHGetSpecialFolderLocation和SHGetPathFromIDList,这就是我们用来获得各种路径的武器。
函数声明:
Private
Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal
hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long
Private
Declare Function SHGetPathFromIDList Lib "Shell32" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As
Long

函数功能及参数说明:
SHGetSpecialFolderLocation:获得某个特殊目录在特殊目录列表中的位置;它有三个参数,第一个参数是用来指定所有者窗口的,在应用中一般我们写上"0"就可以了;第二个参数是一个整数id,它决定要查找的目录是哪一个目录,它的取值可能如下:
&H0& '桌面
&H2& '程序集
&H5& '我的文档
&H6& '收藏夹
&H7& '启动
&H8& '最近打开的文件
&H9& '发送
&HB& '开始菜单
&H13& '网上邻居
&H14& '字体
&H15& 'ShellNew
&H1A& 'Application Data
&H1B& 'PrintHood
&H20& '网页临时文件
&H21& 'Cookies目录
&H22& '历史
第三个参数是获得的特殊目录在特殊目录列表中的地址。

SHGetPathFromIDList:根据某特殊目录在特殊目录列表中的地址获取该目录的准确路径。它有两个参数,第一个参数是特殊目录在特殊目录列表中的地址,也即上一个函数所获得的地址;第二个参数是一个字符串型数据,用来保存返回的特殊目录的准确路径。
比如:为了获得DeskTop的路径,首先需调用SHGetSpecialFolderLocation获得DeskTop在特殊目录列表中的位置Pid,然后调用SHGetPathFromIDList函数获得Pid指向的列表内容,即DeskTop的准确路径。

下面是我编写的一个用来获取Windows各种目录路径的例子,供大家参考。如果您有什么问题或建议,欢迎给我来信(xuhaoliang@21cn.com)。

程序代码如下:
Private
Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal
hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long
Private
Declare Function SHGetPathFromIDList Lib "Shell32" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As
Long
Private Declare Function GetWindowsDirectory Lib "kernel32"
Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As
Long) As Long
Private Declare Function GetSystemDirectory Lib
"kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal
nSize As Long) As Long
Private Declare Function GetTempPath Lib
"kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal
lpBuffer As String) As Long
Const MAX_LEN = 200 '字符串最大长度
Const DESKTOP = &H0& '桌面
Const PROGRAMS = &H2& '程序集
Const MYDOCUMENTS = &H5& '我的文档
Const MYFAVORITES = &H6& '收藏夹
Const STARTUP = &H7& '启动
Const RECENT = &H8& '最近打开的文件
Const SENDTO = &H9& '发送
Const STARTMENU = &HB& '开始菜单
Const NETHOOD = &H13& '网上邻居
Const FONTS = &H14& '字体
Const SHELLNEW = &H15& 'ShellNew
Const APPDATA = &H1A& 'Application Data
Const PRINTHOOD = &H1B& 'PrintHood
Const PAGETMP = &H20& '网页临时文件
Const COOKIES = &H21& 'Cookies目录
Const HISTORY = &H22& '历史

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Load()
Dim sTmp As String * MAX_LEN  '存放结果的固定长度的字符串
Dim nLength As Long  '字符串的实际长度
Dim pidl As Long  '某特殊目录在特殊目录列表中的位置
'*************************获得Windows目录**********************************
Length = GetWindowsDirectory(sTmp, MAX_LEN)
txtWin.Text = Left(sTmp, Length)
'*************************获得System目录***********************************
Length = GetSystemDirectory(sTmp, MAX_LEN)
txtSystem.Text = Left(sTmp, Length)
'*************************获得Temp目录***********************************
Length = GetTempPath(MAX_LEN, sTmp)
txtTemp.Text = Left(sTmp, Length)
'*************************获得DeskTop目录**********************************
SHGetSpecialFolderLocation 0, DESKTOP, pidl
SHGetPathFromIDList pidl, sTmp
txtDesktop.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得发送到目录**********************************
SHGetSpecialFolderLocation 0, SENDTO, pidl
SHGetPathFromIDList pidl, sTmp
txtSendTo.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得我的文档目录*********************************
SHGetSpecialFolderLocation 0, MYDOCUMENTS, pidl
SHGetPathFromIDList pidl, sTmp
txtDocument.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得程序集目录***********************************
SHGetSpecialFolderLocation 0, PROGRAMS, pidl
SHGetPathFromIDList pidl, sTmp
txtProgram.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得启动目录*************************************
SHGetSpecialFolderLocation 0, STARTUP, pidl
SHGetPathFromIDList pidl, sTmp
txtStart.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得开始菜单目录*********************************
SHGetSpecialFolderLocation 0, STARTMENU, pidl
SHGetPathFromIDList pidl, sTmp
txtStartMenu.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得收藏夹目录***********************************
SHGetSpecialFolderLocation 0, MYFAVORITES, pidl
SHGetPathFromIDList pidl, sTmp
txtFavorites.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'**********************获得最后打开的文件目录*******************************
SHGetSpecialFolderLocation 0, RECENT, pidl
SHGetPathFromIDList pidl, sTmp
txtRecent.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得网上邻居目录*********************************
SHGetSpecialFolderLocation 0, NETHOOD, pidl
SHGetPathFromIDList pidl, sTmp
txtNetHood.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得字体目录**********************************
SHGetSpecialFolderLocation 0, FONTS, pidl
SHGetPathFromIDList pidl, sTmp
txtFonts.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得Cookies目录**********************************
SHGetSpecialFolderLocation 0, COOKIES, pidl
SHGetPathFromIDList pidl, sTmp
txtCookies.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得历史目录**********************************
SHGetSpecialFolderLocation 0, HISTORY, pidl
SHGetPathFromIDList pidl, sTmp
txtHistory.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'***********************获得网页临时文件目录*******************************
SHGetSpecialFolderLocation 0, PAGETMP, pidl
SHGetPathFromIDList pidl, sTmp
txtPageTmp.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得ShellNew目录*********************************
SHGetSpecialFolderLocation 0, SHELLNEW, pidl
SHGetPathFromIDList pidl, sTmp
txtShellNew.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'***********************获得Application Data目录*****************************
SHGetSpecialFolderLocation 0, APPDATA, pidl
SHGetPathFromIDList pidl, sTmp
txtAppData.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得PrintHood目录*********************************
SHGetSpecialFolderLocation 0, PRINTHOOD, pidl
SHGetPathFromIDList pidl, sTmp
txtPrintHood.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
End Sub

获取系统各种文件夹路径

'使用方法
'调用函数GetSpecialPath(参数)
'例1:msgbox GetSpecialPath(CSIDL_font) & "\"              (返回系统字体的文件夹)
'例2:msgbox GetSpecialPath(CSIDL_Users_FAVORITES) & "\"   (返回当前用户收藏夹)
'例3:msgbox GetSpecialPath(CSIDL_Users_Pictures) & "\"    (返回当前用户-图片收藏)
'例4:msgbox GetSpecialPath(CSIDL_AllUsers_FAVORITES) & "\"(返回共享收藏夹)
'例5:msgbox GetSpecialPath(CSIDL_Users_MyDocuments) & "\" (返回当前用户-我的文档)
Option Explicit
Private Const NOERROR = 0
Private Const CSIDL_Users_FAVORITES = &H6 '当前用户\收藏夹
Private Const CSIDL_Users_DESKTOPDIRECTORY = &H10 '当前用户\桌面
Private Const CSIDL_Users_STARTMENU = &HB '当前用户\开始菜单
Private Const CSIDL_Users_STARTMENU_cx = &H2 '当前用户\开始-程序
Private Const CSIDL_Users_MyDocuments = &H5 '当前用户\我的文档
Private Const CSIDL_Users_STARTMENU_a = &H7 '当前用户\开始-程序-启动
Private Const CSIDL_Users_Recent = &H8 '当前用户\'Recent
Private Const CSIDL_Users_SendTo = &H9 '当前用户\SendTo
Private Const CSIDL_Users_MyMusic = &HD '当前用户\My Documents\My Music\
Private Const CSIDL_Users_NetHood = &H13 '当前用户\NetHood
Private Const CSIDL_Users_Templates = &H15 '当前用户\Templates
Private Const CSIDL_Users_AppData = &H1A '当前用户\Application Data\
Private Const CSIDL_Users_PrintHood = &H1B '当前用户\PrintHood\
Private Const CSIDL_Users_Local_AppData = &H1C '当前用户\Local Settings\Application Data\
Private Const CSIDL_Users_Temp = &H20 '当前用户\Local Settings\Temporary Internet Files\
Private Const CSIDL_Users_Cookies = &H21 '当前用户\Cookies\
Private Const CSIDL_Users_History = &H22 '当前用户\Local Settings\History\
Private Const CSIDL_Users_Pictures = &H27 '当前用户\My Documents\My Pictures\
Private Const CSIDL_Users = &H28 '当前用户\
Private Const CSIDL_Users_gl = &H30 '当前用户\「开始」菜单\程序\管理工具\
Private Const CSIDL_Users_CDBurning = &H3B '当前用户\Local Settings\Application Data\Microsoft\CD Burning\

Private Const CSIDL_AllUsers_STARTMENU = &H16 'All Users\「开始」菜单\
Private Const CSIDL_AllUsers_STARTMENU_cx = &H17 'All Users\「开始」菜单\程序\
Private Const CSIDL_AllUsers_STARTMENU_j = &H18 'All Users\「开始」菜单\程序\启动\
Private Const CSIDL_AllUsers_DESKTOPDIRECTORY = &H19 'All Users\桌面
Private Const CSIDL_AllUsers_FAVORITES = &H1F 'All Users\Favorites\(收藏夹)
Private Const CSIDL_AllUsers_Templates = &H2D 'All Users\Templates\
Private Const CSIDL_AllUsers_Documents = &H2E 'All Users\Documents\
Private Const CSIDL_AllUsers_gl = &H2F 'All Users\「开始」菜单\程序\管理工具\
Private Const CSIDL_AllUsers_Music = &H35 'All Users\Documents\My Music\
Private Const CSIDL_AllUsers_Pictures = &H36 'All Users\Documents\My Pictures\
Private Const CSIDL_AllUsers_Videos = &H37 'All Users\Documents\My Videos\
Private Const CSIDL_AllUsers_AppData = &H23 'All Users\Application Data\

Private Const CSIDL_WinDows = &H24 '系统安装路径 C:\WINDOWS\
Private Const CSIDL_WinSystem = &H25 '系统文件夹 C:\WINDOWS\system32\
Private Const CSIDL_ProgramFiles = &H26 '应用程序安装文件夹 C:\Program Files\
Private Const CSIDL__ProgramFiles_CommonFiles = &H2B 'C:\Program Files\Common Files\
Private Const CSIDL_WIN_Resources = &H38 'C:\WINDOWS\Resources\
Private Const CSIDL_font = &H14 '字体文件夹C:\WINDOWS\Fonts\
' 声明API函数
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As
Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll"
(ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long

Private Function GetSpecialPath(CSIDL As Long) As String
    Dim s As Long
    Dim path As String
    Dim pidl As Long
    '根据指定的文件夹获得pidl
    s = SHGetSpecialFolderLocation(Me.hWnd, CSIDL, pidl)
    If s = NOERROR Then ' 根据r的返回值判断是否有错误发生,如果没有错误就获取文件夹路径
        path = Space$(512)
        s = SHGetPathFromIDList(ByVal pidl, ByVal path)
        GetSpecialPath = Left$(path, InStr(path, Chr$(0)) - 1)
        Exit Function
    End If
    GetSpecialPath = ""
End Function

------------------------------------------------------------------------

Private Declare Function
SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal
nFolder As Integer, ppidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As
Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long)
As Long
Private Declare Function GetSystemDirectory Lib "kernel32" Alias
"GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA"
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Const MAX_LEN = 200              '字符串最大长度
Const DESKTOP = &H0&             '桌面
Const PROGRAMS = &H2&            '程序集
Const MYDOCUMENTS = &H5&         '我的文档
Const MYFAVORITES = &H6&         '收藏夹
Const STARTUP = &H7&             '启动
Const RECENT = &H8&              '最近打开的文件
Const SENDTO = &H9&              '发送
Const STARTMENU = &HB&           '开始菜单
Const NETHOOD = &H13&            '网上邻居
Const FONTS = &H14&              '字体
Const SHELLNEW = &H15&           'ShellNew
Const APPDATA = &H1A&            'Application Data
Const PRINTHOOD = &H1B&          'PrintHood
Const PAGETMP = &H20&            '网页临时文件
Const COOKIES = &H21&            'Cookies目录
Const HISTORY = &H22&            '历史

Private Sub Command2_Click()
    End
End Sub

Private Sub Form_Load()
    Dim sTmp As String * MAX_LEN '存放结果的固定长度的字符串
    Dim nLength As Long          '字符串的实际长度
    Dim pidl As Long             '某特殊目录在特殊目录列表中的位置
    '*************************获得Windows目录**********************************
    Length = GetWindowsDirectory(sTmp, MAX_LEN)
    txtWin.Text = Left(sTmp, Length)
    '*************************获得System目录***********************************
    Length = GetSystemDirectory(sTmp, MAX_LEN)
    txtSystem.Text = Left(sTmp, Length)
    '*************************获得Temp目录***********************************
    Length = GetTempPath(MAX_LEN, sTmp)
    txtTemp.Text = Left(sTmp, Length)
    '*************************获得DeskTop目录**********************************
    SHGetSpecialFolderLocation 0, DESKTOP, pidl
    SHGetPathFromIDList pidl, sTmp
    txtDesktop.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得发送到目录**********************************
    SHGetSpecialFolderLocation 0, SENDTO, pidl
    SHGetPathFromIDList pidl, sTmp
    txtSendTo.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得我的文档目录*********************************
    SHGetSpecialFolderLocation 0, MYDOCUMENTS, pidl
    SHGetPathFromIDList pidl, sTmp
    txtDocument.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得程序集目录***********************************
    SHGetSpecialFolderLocation 0, PROGRAMS, pidl
    SHGetPathFromIDList pidl, sTmp
    txtProgram.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得启动目录*************************************
    SHGetSpecialFolderLocation 0, STARTUP, pidl
    SHGetPathFromIDList pidl, sTmp
    txtStart.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得开始菜单目录*********************************
    SHGetSpecialFolderLocation 0, STARTMENU, pidl
    SHGetPathFromIDList pidl, sTmp
    txtStartMenu.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得收藏夹目录***********************************
    SHGetSpecialFolderLocation 0, MYFAVORITES, pidl
    SHGetPathFromIDList pidl, sTmp
    txtFavorites.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '**********************获得最后打开的文件目录*******************************
    SHGetSpecialFolderLocation 0, RECENT, pidl
    SHGetPathFromIDList pidl, sTmp
    txtRecent.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得网上邻居目录*********************************
    SHGetSpecialFolderLocation 0, NETHOOD, pidl
    SHGetPathFromIDList pidl, sTmp
    txtNetHood.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得字体目录**********************************
    SHGetSpecialFolderLocation 0, FONTS, pidl
    SHGetPathFromIDList pidl, sTmp
    txtFonts.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得Cookies目录**********************************
    SHGetSpecialFolderLocation 0, COOKIES, pidl
    SHGetPathFromIDList pidl, sTmp
    txtCookies.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得历史目录**********************************
    SHGetSpecialFolderLocation 0, HISTORY, pidl
    SHGetPathFromIDList pidl, sTmp
    txtHistory.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '***********************获得网页临时文件目录*******************************
    SHGetSpecialFolderLocation 0, PAGETMP, pidl
    SHGetPathFromIDList pidl, sTmp
    txtPageTmp.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得ShellNew目录*********************************
    SHGetSpecialFolderLocation 0, SHELLNEW, pidl
    SHGetPathFromIDList pidl, sTmp
    txtShellNew.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '***********************获得Application Data目录*****************************
    SHGetSpecialFolderLocation 0, APPDATA, pidl
    SHGetPathFromIDList pidl, sTmp
    txtAppData.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    '*************************获得PrintHood目录*********************************
    SHGetSpecialFolderLocation 0, PRINTHOOD, pidl
    SHGetPathFromIDList pidl, sTmp
    txtPrintHood.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
End Sub

如何用VB获得Windows各类系统目录的更多相关文章

  1. 如何用VB.Net创建一个三层的数据库应用程序

    [b]1.[/b][b]概论:[/b] 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: ...

  2. 如何用python在Windows系统下,生成UNIX格式文件

    平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...

  3. 如何用.NET创建Windows服务

    我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类 ...

  4. OS-DOS/CMD/Windows/各类软件快捷键等使用总结

    一.快捷键 很多软件的快捷键使用相通,在不确定的情况下,先试试其他软件的快捷键的使用方法 Windows电脑快捷键 HP惠普笔记本 win+E 打开文件管器 win+D 显示桌面 win+L 锁计算机 ...

  5. VB用windows API激活子窗体

    http://files.cnblogs.com/files/liuzhaoyzz/%E6%BF%80%E6%B4%BB%E5%AD%90%E7%AA%97%E4%BD%93.rar setforeg ...

  6. VB指针操作和消息钩子

    二.VB怎么用指针       要想弄明白VB怎么使用指针,就必须要弄明白两件事,第一,如何取得数组的指针,第二,如何将指针所指向的数组取出来.       A.在讲解这两个问题之前,我们需要了解几个 ...

  7. windows下编写dll

    dll的优点 简单的说,dll有以下几个优点: 1) 节省内存.同一个软件模块,若是以源代码的形式重用,则会被编译到不同的可执行程序中,同时运行这些exe时这些模块的二进制码会被重复加载到内存中.如果 ...

  8. 【转】Delphi利用系统环境变量获取常用系统目录

    Delphi code //譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取: var s: string; begin s := GetEnvironmentVariable('WI ...

  9. 【转】分析Linux和windows动态库

    原文地址:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Lin ...

随机推荐

  1. atitit.为什么技术的选择方法java超过.net有前途

    atitit.为什么技术的选择方法java超过.net有前途 #----有没有法律依据不同的铜需求... 通常有开发效率,需要在稳定性.. 笔者 老哇爪 Attilax 艾龙,  EMAIL:1466 ...

  2. 采用shell脚本统计代码的行数

    刚毕业那会儿有一次去台湾公司面试,我问多行代码怎么写.我从来没有想过这个问题,粗略计算,.惊叹:大概几十万行不行. 最近整理资料,看着eclipse左边全面上市,我觉得这个东西.代码共同拥有的行倒底总 ...

  3. jQuery Easy UI Accordion(可伸缩的面板)包

    Accordion 可伸缩的面板组件.基于panel,示为以下的比率: <!doctype html> <html lang="en"> <head& ...

  4. Storing and Retrieving Images from SQL Server using Microsoft .NET

    原文 Storing and Retrieving Images from SQL Server using Microsoft .NET Download source - 19.6 Kb Intr ...

  5. lua转让C++书面DLL达到“热更新”

    原创作品,请注明出处转载CSDN:http://blog.csdn.net/relar/article/details/38084689 开发游戏server往往有"热更新"的需求 ...

  6. atcoder 它February 29th

    Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB Problem Charlie was born January 1st ...

  7. 我的MYSQL学习心得(六)

    原文:我的MYSQL学习心得(六) 我的MYSQL学习心得(六) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL ...

  8. HDU 2647 Reward(图论-拓扑排序)

    Reward Problem Description Dandelion's uncle is a boss of a factory. As the spring festival is comin ...

  9. 第6章 适配器模式(Adapter Pattern)

    原文 第6章 适配器模式(Adapter Pattern) 概述 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作.  解决的问 ...

  10. do{}while(0)宏的作用的定义

    看到开放源代码,宏定义经常这样用 #define some() do { do_somt_thing(); } while (0) 为什么这样用? 能够试一下.假如一个普通宏定义 #define so ...