ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
PATH 環境変数エディタ
日時: 2008/04/20 17:40
名前: lightbox



ユーザー環境変数
拡張子:
HKEY_CURRENT_USER\Environment
システム環境変数
拡張子:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
メンテナンス

PATH 環境変数の表示 ( No.1 )
日時: 2008/04/20 18:00
名前: lightbox


日時: 2008/04/20 18:00
名前: lightbox
拡張子:
Imports Microsoft.Win32

Public Class Form1

	Private Sub Button1_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles Button1.Click

		Dim subkey As String = "Environment"
		Dim regkey As RegistryKey = Registry.CurrentUser.OpenSubKey(subkey, True)

		Try
			If Not regkey Is Nothing Then

				MessageBox.Show(regkey.GetValue("PATH").ToString())

			Else

				MessageBox.Show("レジストリが正しく開かれていません")

			End If

		Catch ex As Exception

			MessageBox.Show(ex.ToString())

		End Try

		If Not regkey Is Nothing Then

			regkey.Close()

		End If

	End Sub

	Private Sub Button2_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles Button2.Click

		Dim subkey As String = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
		Dim regkey As RegistryKey = Registry.LocalMachine.OpenSubKey(subkey, True)

		Try
			If Not regkey Is Nothing Then

				MessageBox.Show(regkey.GetValue("PATH").ToString())

			Else

				MessageBox.Show("レジストリが正しく開かれていません")

			End If

		Catch ex As Exception

			MessageBox.Show(ex.ToString())

		End Try

		If Not regkey Is Nothing Then

			regkey.Close()

		End If

	End Sub

End Class
このアーティクルの参照用URLをクリップボードにコピー メンテナンス
セミコロンで分割してソートして列挙 ( No.2 )
日時: 2008/04/20 18:12
名前: lightbox
拡張子:
Private Sub SortEnum(ByVal Path As String)

	' 区切り文字定義
	Dim delimStr As String = ";"
	Dim delimiter As Char() = delimStr.ToCharArray()

	' 配列に分割
	Dim split As String() = Path.Split(delimiter)

	' ソート
	Array.Sort(split, split.GetLowerBound(0), split.Length)

	Dim str As String = ""
	For Each value As String In split

		str &= value & ControlChars.CrLf

	Next

	MessageBox.Show(str)

End Sub
このアーティクルの参照用URLをクリップボードにコピー メンテナンス
LboxGrid にデータをロードする ( No.3 )
日時: 2008/04/24 10:27
名前: lightbox
↓ツールボックスに登録して、LboxGrid を フォームに貼り付けます


登録は、ツールボックスの「全般」で右クリックして「アイテムの登録」を行います
登録すると、「参照設定」にも登録されると思いますが、もし無ければ登録して下さい



拡張子:
Private Sub SortEnum(ByVal Path As String)

	' 区切り文字定義
	Dim delimStr As String = ";"
	Dim delimiter As Char() = delimStr.ToCharArray()

	' 配列に分割
	Dim split As String() = Path.Split(delimiter)

	' ソートはしない( パスの順序に意味がある )
	' 表示のみならばソートしても良い
	' Array.Sort(split, split.GetLowerBound(0), split.Length)

	LoadGrid(split)

End Sub

Private Sub LoadGrid(ByRef data As String())

	Me.LboxGrid1.Clear()
	' 自動サイズ変更モード
	Me.LboxGrid1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

	For Each value As String In data

		Me.LboxGrid1.AddRow()
		Me.LboxGrid1.SetColumnText("PATH", value)

	Next

	' 自動サイズ変更の列をユーザが変更できるようにする
	Me.LboxGrid1.AllowResizeColumn(True)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load

	Me.LboxGrid1.AddColumn("PATH", "検索パス")

End Sub
このアーティクルの参照用URLをクリップボードにコピー メンテナンス
セルを編集可能にする ( No.4 )
日時: 2008/04/20 19:16
名前: lightbox
拡張子:
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load

	Me.LboxGrid1.AddColumn("PATH", "検索パス")
	Me.LboxGrid1.ReadOnly = False
	Me.LboxGrid1.EditMode = DataGridViewEditMode.EditOnF2

End Sub
このアーティクルの参照用URLをクリップボードにコピー メンテナンス
更新 ( No.5 )
日時: 2008/04/20 20:54
名前: lightbox



値を空にすると、その行は削除されます。
行を追加したい場合は、任意の行の最後で ";" を入力してデータを続けます。


拡張子:
Private Sub Button3_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button3.Click

	Dim str As String = ""
	Dim fld As String = ""

	Me.LboxGrid1.SetCurrentRow()
	Do While (Me.LboxGrid1.FindNextRow())

		fld = Me.LboxGrid1.GetColumnText("PATH")
		If fld = "" Then
			Continue Do
		Else
			fld = fld.Trim()
			If fld = "" Then
				Continue Do
			End If
		End If

		If str <> "" Then
			str &= ";"
		End If

		str &= fld

	Loop

	MessageBox.Show(str)

	If mode = 1 Then
		Dim subkey As String = "Environment"
		Dim regkey As RegistryKey = Registry.CurrentUser.OpenSubKey(subkey, True)

		regkey.SetValue("PATH", str)
		SortEnum(regkey.GetValue("PATH").ToString())

		regkey.Close()
	End If

	If mode = 2 Then
		Dim subkey As String = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
		Dim regkey As RegistryKey = Registry.LocalMachine.OpenSubKey(subkey, True)

		regkey.SetValue("PATH", str)
		SortEnum(regkey.GetValue("PATH").ToString())

		regkey.Close()
	End If

End Sub
拡張子:
Private mode As Integer = 0

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

	Dim subkey As String = "Environment"
	Dim regkey As RegistryKey = Registry.CurrentUser.OpenSubKey(subkey, True)

	Try
		If Not regkey Is Nothing Then

			mode = 1
			SortEnum(regkey.GetValue("PATH").ToString())

		Else

			MessageBox.Show("レジストリが正しく開かれていません")

		End If

	Catch ex As Exception

		MessageBox.Show(ex.ToString())

	End Try

	If Not regkey Is Nothing Then

		regkey.Close()

	End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click

	Dim subkey As String = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
	Dim regkey As RegistryKey = Registry.LocalMachine.OpenSubKey(subkey, True)

	Try
		If Not regkey Is Nothing Then

			mode = 2
			SortEnum(regkey.GetValue("PATH").ToString())

		Else

			MessageBox.Show("レジストリが正しく開かれていません")

		End If

	Catch ex As Exception

		MessageBox.Show(ex.ToString())

	End Try

	If Not regkey Is Nothing Then

		regkey.Close()

	End If

End Sub
このアーティクルの参照用URLをクリップボードにコピー メンテナンス