- PR -

ボリュームラベルの編集

1
投稿者投稿内容
めぐ
会議室デビュー日: 2003/11/21
投稿数: 2
投稿日時: 2003-11-21 12:35
こんにちは
VB.NETからボリュームラベル名を書き込む方法を教えて下さい。
ボリュームラベル情報はWIN32APIの
GetVolumeInformation関数を使って取得できたのですが、
編集する方法が見つからず困っています。
そんなものは無いのでしょうか。。
どなたかご教授願いませんか。
よろしくお願いします。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-11-21 13:16
試していませんが...

SetVolumeLabel APIでどうでしょう?
Junbow
ぬし
会議室デビュー日: 2002/01/24
投稿数: 373
お住まい・勤務地: saga.jp
投稿日時: 2003-11-21 13:16
こんにちは。
Getができるなら、Setもできそうなのですが・・・ってgoogleで
調べてみたら、SetVolumeLabelが使えそうですよ〜。
Junbow
ぬし
会議室デビュー日: 2002/01/24
投稿数: 373
お住まい・勤務地: saga.jp
投稿日時: 2003-11-21 13:22
 あ、同タイミングでresになりましたね(^^;
m.ku
大ベテラン
会議室デビュー日: 2002/09/15
投稿数: 184
投稿日時: 2003-11-21 13:23
MSDNライブラリを見てみると日本語版と英語版ではAPIの並びが微妙に違いますね。
比べてみると日本語版の方の並びに疑問を感じます。質問はそういうのが発端かな?
#単なる雑感
めぐ
会議室デビュー日: 2003/11/21
投稿数: 2
投稿日時: 2003-11-21 15:05
>Junbowさん ななさん

ありがとうございます。
なるほど!!SetVolumeLabel使えそうです。頭が固かったです。。
ただ、VBのソースをうまくVB.NETに直せません。。

*****************************************************
Public Declare Function SetVolumeLabel _
Lib "kernel32" Alias "SetVolumeLabelA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeName As String) As Integer

Private Sub Button3_Click
Dim strRootPathName As String
Dim strVolumeName As String
Dim lngWin32apiResultCode As Integer ' 戻り値成功失敗を返す
strRootPathName = "F:\"

' ボリューム名を設定
'strVolumeNameBuffer = "新しい名前"
lngWin32apiResultCode = _
DriveInfo.SetVolumeLabel(strRootPathName, _
strVolumeName)

End Sub
******************************************************
としたのですが、戻り値に0(False)が返ってきてしまいます。

GetVolumeInformationでは、VBでString型であった部分を
System.Text.StringBuilder(256)に直すとうまくいったのですが、
ご存知でしたら教えて下さい。

>m.kuさん
すみません。初心者なもので、よく分かっていません。。
単純にSetVolumeLabel関数が見つけられなくて質問しました。
1

スキルアップ/キャリアアップ(JOB@IT)