tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: 共有フォルダについて。
投稿日: 2008/01/22(Tue) 13:18
投稿者魔界の仮面弁士
> > この時BからAのCドライブにWork_Cがあることを確認する方法を教えて下さい。
>
> http://www.vbstation.net/spec/S2_6.htm

よく見ると、このサンプルは微妙に間違っているようなので注意してください。

処理手順は良いのですが、Unicode API に対して文字列を渡す際に、
 Declare Function NetShareGetInfo Lib "netapi32" (ByVal servername As String, …
のように String 変数に 再度 Unicode 変換にしてから渡しています。

これは正しくは、Unicode 文字列を示す Byte 配列の先頭要素を渡すべきです。


サンプルのままだと、偶然うまくいくこともありますが、失敗する可能性も高いです。

たとえば「てすと」という共有名であれば成功しても、
「ドキュメント」などの共有名は処理できません。


'これは文字化けせず、「てすと」に戻るのだが
Debug.Print StrConv(StrConv("てすと", vbUnicode), vbFromUnicode)

'これは壊れてしまう
Debug.Print StrConv(StrConv("ドキュメント", vbUnicode), vbFromUnicode)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。