- - PR -
別コンピュータのINIファイルから情報を読み込みたい
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-22 23:11
ASP.NET(VB.NET)にて、
INIファイルより情報を取得するプログラムを作成しています。 自マシンの情報C:\やD:\は情報を取得できたのですが、 ネットワークドライブ割り当てしたドライブにあるINIファイルの情報を 取得することができません。 そのコンピュータのIPアドレス指定したり、マシン名を指定してみましたが それも取得できませんでした。 どなたか、方法をご教授いただけないでしょうか。 環境は、下記のとおりです。 OS:WinXP 言語:VB.NET プログラム ------------------------------------------------------------------- Friend Class IniFileHandler Declare Function GetPrivateProfileString Lib "KERNEL32.DLL" Alias "GetPrivateProfileStringA" ( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, ByVal lpDefault As String, _ ByVal lpReturnedString As StringBuilder, ByVal nSize As Integer, _ ByVal lpFileName As String) As Integer End Class Public Module IniFile Private Const FILE_NAME As String = "H:\test.ini" Public Function GetIniFileDataString(ByVal lpAppName As String, ByVal lpKeyName As String) As String Dim sb As StringBuilder = New StringBuilder(1024) Try ' 文字列を読み出す UserConfigIniFileHandler.GetPrivateProfileString(lpAppName,lpKeyName, "", sb, sb.Capacity, FILE_NAME) Return sb.ToString() Catch ex As Exception End Try End Function End Module ------------------------------------------------------------------- | ||||||||
|
投稿日時: 2006-06-22 23:27
取得できないってことは例外が発生しているのですか?
発生しているなら例外の内容を書きましょう。 まぁ権限の問題な気もしますが。。。 | ||||||||
|
投稿日時: 2006-06-22 23:52
ネットワークドライブは誰に対して割り当てていますか?
ASP.NETのプロセスが誰で起動されるかを注意してください。 | ||||||||
|
投稿日時: 2006-06-23 00:41
例外は発生しません。
| ||||||||
|
投稿日時: 2006-06-23 09:42
本当に例外は発生していませんでしたか?
| ||||||||
|
投稿日時: 2006-06-23 10:45
PInvoke 側ですから、'例外' は発生しないでしょうね。 むちゃくちゃなパスだろうと何だろうとスルーしますから。 System.Runtime.InteropServices.Marshal.GetLastWin32Error メソッドでも取得できないでしょう。 というよりは、'失敗' はともかく、'エラー' が起きる関数ではないと思われます。(多分) とりあえず、以下のコードで正常に INI ファイルから文字列を取得できることを確認しています。
最初に、burton999 さんが書かれていますが、権限周りを調べてください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-06-23 19:11
誤ったパスなどでも、例外は発生しませんでした。
ASP.NETだから、うまくいかないとかあるのでしょうか。 権限周りを調べていますが、なかなかうまくいきません・・。 | ||||||||
|
投稿日時: 2006-06-23 21:57
とりあえず"H:\test.ini"をStreamReaderなどで普通に開けるか確認してみてはいかがでしょう?
おそらく例外が発生するのでは?? |