VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 システム及びOS情報関係のメニュー
1.環境変数に格納されている情報を取得
2.コントロールパネル及びコントロールパネル内の各メニューを開く
3.INI ファイルへの書き込み及び読み込み
4.レジストリへの保存及び読み取り・削除例
5.オペレーティングシステムのバージョン情報を取得
6.WMI の Win32_OperatingSystem クラスを使っての OS 情報の取得
7.現在のシステム環境に関する情報(108項目)を取得
8.ウィンドウ・画面等の幅や高さ等と現在の構成を(84項目)取得
9.Win32 API を使っての物理メモリ及び仮想メモリに関する情報を取得
10.コンピューターの製造会社名及びモデル名/製品型番を取得
11.現在の OS 及びプロセスが 64ビットかどうかを調べる
12.
 . 
20.その他、当サイト内に掲載のシステム及びOS情報に関するサンプル


3.INI ファイルへの書き込み及び読み込み(27_Sys_03) (旧、SampleNo.075)
1.INI ファイルへの書き込み及び読み込み
2.
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.INI ファイルへの書き込み及び読み込み

Imports System.Runtime.InteropServices

Public Class Form1

Private myLeft, myTop, myWidth, myHeight As Integer, myTxt As String
Private iniFileName As String = "..\..\..\data\27_Sys_03.ini"  'INIファイル名(直接フルパスを指定してもOK)

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
'INI ファイルから読み込み
    '戻り値(文字列)を受け取るバッファーを準備
    Dim strBuffer As New System.Text.StringBuilder
    strBuffer.Capacity = 256   'バッファーのサイズを指定
    Dim ret As Integer
    'INIファイルよりキーの値を読み込み(整数値を取得する場合)
    myLeft = GetPrivateProfileInt("Form1Point", "Xpos", 0, iniFileName)
    myTop = GetPrivateProfileInt("Form1Point", "Ypos", 0, iniFileName)
    myWidth = GetPrivateProfileInt("Form1Size", "Width", 0, iniFileName)
    myHeight = GetPrivateProfileInt("Form1Size", "Height", 0, iniFileName)
    '文字列の値を取得する場合
    ret = GetPrivateProfileString("Form1Text", "Text", "", strBuffer, strBuffer.Capacity, iniFileName)
    myTxt = strBuffer.ToString
    '結果を表示
    Debug.WriteLine(myLeft)     '110
    Debug.WriteLine(myTop)      '145
    Debug.WriteLine(myWidth)    '334
    Debug.WriteLine(myHeight)   '135
    Debug.WriteLine(myTxt)      'INI ファイルの読み込み・書き込み(27_Sys_03) - VB2013
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'INI ファイルに各キーに対する値を取得して書き込み
    Dim ret As Integer
    '書き込みは文字列も整数値(文字列に変換して)も同じ方法で
    ret = WritePrivateProfileString("Form1Text", "Text", Me.Text.ToString, iniFileName)
    ret = WritePrivateProfileString("Form1Point", "Xpos", CStr(Me.Location.X), iniFileName)
    ret = WritePrivateProfileString("Form1Point", "Ypos", CStr(Me.Location.Y), iniFileName)
    ret = WritePrivateProfileString("Form1Size", "Width", CStr(Me.Width), iniFileName)
    ret = WritePrivateProfileString("Form1Size", "Height", CStr(Me.Height), iniFileName)

'書き込んだ結果をメモ帳で見ると下記のようになっています。
'  [Form1Text]
'  Text = INIファイルの読み込み・書き込み(75)
'  [Form1Point]
'  Xpos = 110
'  Ypos = 145
'  [Form1Size]
'  Width = 334
'  Height = 135
End Sub

'指定のINIファイルから文字列を取得する(P989)
<DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> _
Public Shared Function GetPrivateProfileString( _
    ByVal lpAppName As String, _
    ByVal lpKeyName As String, _
    ByVal lpDefault As String, _
    ByVal lpReturnedString As System.Text.StringBuilder, _
    ByVal nSize As Integer, _
    ByVal lpFileName As String) As Integer
End Function

'指定のINIファイルの指定のキーの文字列を変更する(P994)
<DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> _
Private Shared Function WritePrivateProfileString( _
    ByVal lpAppName As String, _
    ByVal lpKeyName As String, _
    ByVal lpString As String, _
    ByVal lpFileName As String) As Integer
End Function

'指定のINIファイルから整数値を取得する(P986)
<DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)> _
Public Shared Function GetPrivateProfileInt( _
    ByVal lpAppName As String, _
    ByVal lpKeyName As String, _
    ByVal nDefault As Integer, _
    ByVal lpFileName As String) As Integer
End Function

End Class

今となっては、My.Settings を使用した方が簡単なのでこのようなコードは必要ないかも知れませんが、
.NET 系に移行した当初は、結構要望があったので作ったものをそのまま掲載しております。

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。