CreateFile()がfilenameパラメーターでうまく機能しないことがわかったときに、CreateFileが既存の名前付きパイプを開くことができないという問題のトラブルシューティングを行っていました。私のコードは次のとおりです。
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
pipeHandle = CreateFile("C:\\test.txt", GENERIC_READ Or GENERIC_WRITE, 0&, 0&, CREATE_ALWAYS, 0&, 0&)
C:\にファイルを作成するのではなく、現在のVB作業ディレクトリにファイル名が文字化けしたファイルを作成します。CreateFileは、指定されたファイル名文字列を認識および解析できないようです。
なぜこうなった?私はWindows7でVB6を使用しています(いくつかのトリックを使用してインストールしました)。それが問題を引き起こしている可能性がありますか?