Windows API 逐个逐个学(3)----Windows系统基本服务API GetSystemDirectory
贴代码
VC++ code:
1 /* ************************************ 2 *《精通Windows API》 3 * 示例代码 4 * basic.c 5 * 2.2 Windows API的功能分类 6 **************************************/ 7 8 /* 头文件 */ 9 #include <windows.h> 10 11 /* ************************************ 12 * 功能 获取系统目录信息,并存储到文件中 13 **************************************/ 14 int main1(int argc, TCHAR argv[]) 15 { 16 //文件句柄 17 HANDLE hFile; 18 19 DWORD dwWritten; 20 //字符数组,用于存储系统目录 21 TCHAR szSystemDir[MAX_PATH]; 22 //获取系统目录 23 GetSystemDirectory(szSystemDir,MAX_PATH); 24 25 //创建文件systemroot.txt 26 hFile = CreateFile("systemroot.txt", 27 GENERIC_WRITE, 28 0,NULL,CREATE_ALWAYS, 29 FILE_ATTRIBUTE_NORMAL, 30 NULL); 31 //判断文件是否创建成功 32 if(hFile != INVALID_HANDLE_VALUE) 33 { 34 //将系统目录系统信息写入文件 35 if(!WriteFile(hFile,szSystemDir,lstrlen(szSystemDir),&dwWritten,NULL)) 36 { 37 return GetLastError(); 38 } 39 } 40 //关闭文件,返回。 41 CloseHandle(hFile); 42 return 0; 43 }
VB6 code:
private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long)
As Long Public Function GetSysDirectory() As String '取得系统目录 Dim strSysDir As String, filePath As String filePath = App.Path & "\systemroot.txt" strSysDir = Space(200) Call GetSystemDirectory(strSysDir, 200) strSysDir = left(strSysDir, InStr(strSysDir, Chr(0)) - 1) Open filePath For Output As #1 Print #1, strSysDir Close #1 End Function
运行结果:
在当前目录下会生成systemroot.txt.里面是GetSystemDirectory的结果