請教一下使用API SetVolumeLabel上的問題 |
尚未結案
|
快被打死的小強
一般會員 發表:1 回覆:2 積分:0 註冊:2004-07-30 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: 小弟在使用SetVolumeLabel這個API時,輸入的LABLE名稱為小寫, 但使用GetVolumeInformation取回Lable時卻發現取回的名稱全部為大寫, 看說明沒有提到大小寫要如何設定, 請教一下是否有人也遇到這個問題,是否有解呢, 順代一提, 小弟使用的OS 是 XP,語言是BCB 6 先感謝各位花時間看這個問題啦~~~ 快被打死的小強~~~~ { AnsiString DIR_NAME="d:\\",volumeName="andydisk_d"; bool success; success=SetVolumeLabel(DIR_NAME.c_str(), volumeName.c_str()); if (success) Label1->Caption="OK"; char lpVolName[255],lpFSNameBuff[50]; DWORD dwVolSer, lpMaxComLen, lpFSFlags; if (GetVolumeInformationA(DIR_NAME.c_str(), lpVolName, 255, &dwVolSer, &lpMaxComLen, &lpFSFlags, lpFSNameBuff, 50)) Label2->Caption=lpVolName; // 得到andydisk_d } 我使用XP,BCB5.0確定沒問題!Andy Chang 發表人 - andychang1690 於 2004/08/19 00:50:28
------
Andy Chang |
快被打死的小強
一般會員 發表:1 回覆:2 積分:0 註冊:2004-07-30 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
小強: BOOL GetVolumeInformation( LPCTSTR lpRootPathName, // address of root directory of the file system LPTSTR lpVolumeNameBuffer, // address of name of the volume DWORD nVolumeNameSize, // length of lpVolumeNameBuffer LPDWORD lpVolumeSerialNumber, // address of volume serial number LPDWORD lpMaximumComponentLength, // address of system's maximum filename length LPDWORD lpFileSystemFlags, // address of file system flags LPTSTR lpFileSystemNameBuffer, // address of name of file system DWORD nFileSystemNameSize // length of lpFileSystemNameBuffer ); 例: GetVolumeInformationA(DIR_NAME.c_str(), lpVolName, 255, &dwVolSer, &lpMaxComLen, &lpFSFlags, lpFSNameBuff, 50)) lpFileSystemNameBuffer 你檢查一下你磁碟機的型態是NTFS還是FAT? 在MS-DOS和Windows95中,磁片卷標最多由11個字元組成,並且字母的大小寫不加區分。 請參考!Andy Chang
------
Andy Chang |
快被打死的小強
一般會員 發表:1 回覆:2 積分:0 註冊:2004-07-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |