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

リンク元へ戻ります。 システム・情報関係のメニュー
1.Windowsのシステムディレクトリのパス名を取得する
2.Windows のバージョンを取得する
3.終了時の情報を保存・読み込み・反映(レジストリ使用・他)
4.Windows を終了・再起動する
5.スクリーンセーバーの起動及び解除
6.タスクバーを自動で隠す・常に手前に表示を設定・取得
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載のシステム・情報に関するサンプル


3.終了時の情報を保存・読み込み・反映(レジストリ使用・他)
1.レジストリを使って終了時の情報・状態を保存・読み込み反映
2.データファイルを使って終了時の情報・状態を保存・読み込み反映
3. 
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:                  
使用 API:
その他 :このサンプルは、レジストリを操作しております。従った、ある程度レジストリに関する知識をお持ち方が
    :使用されるようにお願いします。
このページのトップへ移動します。 1.レジストリを使って終了時の情報・状態を保存・読み込み反映

Option Explicit   'SampleNo:067  2002.05.15   @ 2007.03.19

Private Sub Command1_Click()
'Microsoft Windows のレジストリにあるアプリケーションの項目から、
'キー設定値を返します。
'GetSetting(appname, section, key[, default])
'appname  アプリケーション名またはプロジェクト名(文字列式)
'section  対象となるキー設定があるセクション名(文字列式)
'Key    取得するキー設定名(文字列式)
'default  キー設定に値が設定されていない場合に返す値
'      省略すると、長さ 0 の文字列 ("") とみなされます。

  '設定値を読み込み反映させる(本来は、Form_Load イベント等に書くようにして下さい)
  Dim Wid As Long
  Dim Hei As Long
  'レジストリからフォームのサイズを読込み
  Wid = Val(GetSetting("Myprogram", "startup", "FormSizeWi", "Wid"))
  Hei = Val(GetSetting("Myprogram", "startup", "FormSizeHi", "Hei"))
  'デフォルトの場合
  If Wid = 0 Then
    Wid = 3700
    Hei = 3000
  End If
  Me.Move 0, 0, Wid, Hei
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'現在の状態ををレジストリに書込む場合(現在のフォームのサイズをレジストリに記録)
  Dim Ret As Integer
  Ret = MsgBox("終了時の状態を保存しますか", vbYesNo)
  If Ret = vbYes Then
    '現在のフォームサイズをレジストリに書込み
    SaveSetting "Myprogram", "startup", "FormSizeWi", Me.Width
    SaveSetting "Myprogram", "startup", "FormSizeHi", Me.Height
  Else  '作成したレジストリを削除する場合
    '書きこまれていない場合エラーが発生するので
    If GetSetting("Myprogram", "startup", "FormSizeWi", "") <> "" Then
      '作成したレジストリを全部削除
      DeleteSetting "Myprogram"
    End If
  End If
End Sub


上記でレジストリに書き込まられば、下記の位置に書き込まれているはずですので、REGEDIT 等で確認して見て下さい。
WindowsXP / Windows 7
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Myprogram\startup
尚、保存項目等は、必要に応じ、追加・変更して下さい。

このページのトップへ移動します。 2.データファイルを使って終了時の情報・状態を保存・読み込み反映

Private Sub Command2_Click()
'データファイルを使って終了時の情報を読み込み反映させる場合
  Dim Wid  As Long
  Dim Hei  As Long
  Dim FileNo As Integer

  If Dir$("Starup.Txt") = "" Then
    'ファイルが無い場合作成
    '最初にメモ帳等でデータファイルを作成しておけば下記は必要無い
    FileNo = FreeFile
    Open "Starup.Txt" For Output As #FileNo
      Wid = 3700
      Hei = 3000
    Write #FileNo, Wid, Hei
    Close #FileNo
  End If

  'データ読込み
  FileNo = FreeFile
  Open "Starup.Txt" For Input As #FileNo
    Input #FileNo, Wid, Hei
  Close #FileNo
  Me.Move 0, 0, Wid, Hei
End Sub

Private Sub Command3_Click()
'データファイルに終了時の情報を書き込み記録する場合
  Dim Ret As Integer
  Dim Wid  As Long
  Dim Hei  As Long
  Dim FileNo As Integer

  Ret = MsgBox("終了時の状態を保存しますか", vbYesNo)
  If Ret = vbYes Then
    '現在のサイズを保管
    FileNo = FreeFile
    Open "Starup.Txt" For Output As #FileNo
      Wid = Me.Width
      Hei = Me.Height
    Write #FileNo, Wid, Hei
    Close #FileNo
  End If
End Sub


保存場所、保存項目等は、必要に応じ、追加・変更して下さい。
又、プログラムの動作イベント等は、Form_Load イベントや Form_QueryUnload イベント等を使用するようにして下さい。

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


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


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


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


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
終了時の状態を保存・レジストリ使用他 1.レジストリからフォームのサイズを読込み 2.現在のフォームサイズをレジストリに書込み 3.作成したレジストリを全部削除
4.データファイルを作成し、終了時のフォームの状態を保存・読込む方法



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