獲取"我的文件“路徑
方法一:來自網路;
CString getMyDoc() // 獲取“我的文件”路徑 { TCHAR m_lpszDefaultDir[MAX_PATH] = {0}; TCHAR szDocument[MAX_PATH] = {0}; memset(m_lpszDefaultDir, 0, _MAX_PATH); LPITEMIDLIST pidl = NULL; SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl); if (pidl && SHGetPathFromIDList(pidl, szDocument)) { GetShortPathName(szDocument, m_lpszDefaultDir, _MAX_PATH); } return CString(szDocument); }
方法二:
函式SHGetSpecialFolderLocation():
#include "shlobj.h" //包含標頭檔案
WINSHELLAPI HRESULT WINAPI SHGetSpecialFolderLocation (HWND hwndOwner, int nFolder,LPITEMIDLIST * ppidl); //函式宣告
hwndOwner: 指定了"所有者視窗",在呼叫這個函式是可能出現的對話方塊或資訊框.
nFolder: 是一個整數id,決定哪個目錄是待查詢目錄,它的取值可能是
CSIDL_BITBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP
CSIDL_DESKTOPDIRECTORY desktop的目錄;
CSIDL_DRIVES 我的電腦
CSIDL_FONTS 字型目錄
CSIDL_NETHOOD 網路上的芳鄰
CSIDL_NETWORK 網路上的芳鄰virtual folder
CSIDL_PERSONAL 我的文件
CSIDL_PRINTERS 印表機
CSIDL_PROGRAMS 程式組
CSIDL_RECENT 最近開啟文件
CSIDL_SENDTO 傳送到選單項
CSIDL_STARTMENU 快啟選單
CSIDL_STARTUP 啟動目錄
CSIDL_TEMPLATES 臨時文件
ppidl: pidl地址. SHGetSpecialFolderLocation把地址寫到pidl.
示例程式碼VC++ 6.0測試通過):
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
char szDir[200];
if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOP,&pidl))) {
// 如果成功返回true
SHGetPathFromIDList(pidl, szDir);
pShellMalloc->Free(pidl);
}
pShellMalloc->Release();
}
::MessageBox (NULL,szDir,"Path",MB_OK);
VC獲取指定資料夾路徑
flyfish 2010-3-5
一 使用Shell函式
1 獲取應用程式的安裝路徑
TCHAR buf[_MAX_PATH];
SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);
AfxMessageBox(buf);
2 獲取應用程式資料路徑的資料夾
TCHAR bufApplicateData[_MAX_PATH];
SHGetSpecialFolderPath(NULL,bufApplicateData,CSIDL_APPDATA,NULL);
AfxMessageBox(bufApplicateData);
3 獲取系統資料夾
TCHAR buf[_MAX_PATH];
SHGetSpecialFolderPath(NULL,buf,CSIDL_SYSTEM,NULL);
AfxMessageBox(buf);
4 獲取Windows目錄
TCHAR buf[_MAX_PATH];
SHGetSpecialFolderPath(NULL,buf,CSIDL_WINDOWS,NULL);
AfxMessageBox(buf);
5 獲取其他指定資料夾
主要使用SHGetSpecialFolderPath函式
函式原型:BOOL SHGetSpecialFolderPath(HWND hwndOwner,LPTSTR lpszPath,int nFolder, BOOL fCreate);
引數nFolder指明獲取什麼樣的資料夾。如下參考
MSDN可以搜尋關鍵字:CSIDL
MSDN URL:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/shell/reference/enums/csidl.htm
二 使用其他API函式
1 獲取系統資料夾
TCHAR buf[_MAX_PATH];
GetSystemDirectory( buf, _MAX_PATH );
AfxMessageBox(buf);
2 獲取Windows目錄
TCHAR buf[_MAX_PATH];
GetWindowsDirectory( buf, _MAX_PATH );
AfxMessageBox(buf);
以上程式在VC2005中除錯通過。
相關推薦
獲取Android文件路徑
activity lca nal oid agen 位置 ext adc ger Environment.getDataDirectory().getPath() : /dataEnvironment.getDownloadCacheDirectory().getPath(
學習日記19、獲取某個文件路徑下所有的文件信息
視圖 app avi sele () oar bst cto 獲取文件信息 public JsonResult GetView(string suoshu) { string url = ""; Dictionary
windows程序設計 獲取系統文件路徑
ret 創建 存儲 windows directory 打印 div word 獲取 獲取系統文件路徑,打印到txt文件中。 #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance,
c++獲取Windows“我的文件”路徑
https://stackoverflow.com/questions/2414828/get-path-to-my-documents #include <windows.h> #include <iostream> #include <shlobj.h&
獲取"我的文件“路徑
方法一:來自網路; CString getMyDoc() // 獲取“我的文件”路徑 { TCHAR m_lpszDefaultDir[MAX_PATH] = {0}; TCHAR szDocument[MAX_PATH] = {0}; memset(m_lp
java獲取桌面,我的文件路徑
javax.swing.filechooser.FileSystemView fsv = javax.swing.filechooser.FileSystemView.getFileSystemView(); fsv.getHomeDirectory(); //這便
C#根據字體名通過註冊表獲取該字體文件路徑(win10)
cat mic 約束 lec 運行 window mac war 控件 方法一: 直接先上源碼: private System.Collections.Generic.SortedDictionary<string, string> ReadF
Java獲取配置文件跟路徑
[] sha import cep excel null tcl source 相對路徑 一直以為使用new File(相對路徑)可以讀取class目錄下的文件,其實不然。網上查詢了一些資料,弄清楚了原理,總結如下: package com.coshaho.learn;
c#獲取文件路徑
textbox dial open info 引入 tex lena fin sel 首先的引入 using System.IO; OpenFileDialog file = new OpenFileDialog(); file.ShowDialo
python獲取當前文件路徑以及父文件路徑
image 成功 pytho python img 技術 lin lai tina #當前文件的路徑 pwd = os.getcwd() #當前文件的父路徑 father_path=os.path.abspath(os.path.dirname(pwd)+os.path.
C#使用System.IO.Path獲取文件路徑、文件名
filepath 目錄 tle provide volume 指示 完整路徑 nat col class Program { static void Main(string[] args) { //獲取
1.5 獲取文件路徑
gpo dir print file cnblogs != println AC private package main import ( "fmt" "os" "path/filepath" ) func main() { ex, e
python利用文件對話框獲取文件路徑
line \n AC lap hid path b2b pat lines 一、單文件 python3: 1 import tkinter as tk 2 from tkinter import filedialog 3 4 root = tk.Tk() 5 root
獲取pe文件調試符號文件pdb路徑
pdb一般如果編譯器設置了調試符號文件,則編譯後的PE文件中調試字段會包含該路徑,在一般的溯源分析中我們可能會註意到: 使用工具:pestudio 如下圖,將文件加載進工具後,查看debug字段,可以發現pdb路徑。註意:該路徑不一定存在。。。 獲取pe文件調試符號文件pdb路徑
C語言獲取執行文件(XXX.exe)文件名和目錄路徑
color lan .net director blank Go 執行 pause sys 同CSDN上的 https://blog.csdn.net/Higashino_Keigo/article/details/80489874 C語言獲取執行文件(XXX.exe)文件
php獲取文件路徑信息函數
php獲取文件路徑信息函數代碼: /* @desc:獲取路徑信息 @param path 傳入路徑,如a/b/c.jpg @return info dir:路徑,name:文件名,suffix:後綴名 */ function fileinfo($path){ $dir = dirname($path); $
Java獲取文件路徑的幾種方法
ews XML 獲取 mil 路徑 etc ans nbsp tin 第一種: File f = new File(this.getClass().getResource("/").getPath()); System.out.print
php文件路徑獲取文件名
options info 文件 截取 後綴 文件名 col inf basename 物理截取: $file = ‘/www/htdocs/inc/lib.inc.php‘; $filename = basename($file); echo $filename, ‘
在asp.net mvc3 中,在controller中使用HttpPostedFileBase file 參數獲取上傳的文件,文件路徑問題
amp nbsp 指點 不包含 index 之前 eas www .com 轉載:https://zhidao.baidu.com/question/444203596.html 在asp.net mvc3 中,在controller中使用HttpPostedFileB
獲取文件路徑
dea pan -s bin usr 兩種 格式 per robot 1、python獲取文件當前絕對路徑的兩種方法 方法1: import sys print(sys.argv) 得到文件當前絕對路徑字符串的一個列表 [‘D:/pycharm/PracticeProje