*******************************************
イベントログに出力する
*******************************************
Public Class Form1
Private Sub Form1_Load(ByVal sender As
System.Object,ByValeAsSystem.EventArgs) Handles MyBase.Load
'テスト用にイベントログエントリに付加するデータを適当に作る
Dim mybyte() As Byte = New Byte() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Dim eventid As Integer = 1
Dim category As Short = 1000
System.Diagnostics.EventLog.WriteEntry("Sample_OutputEventViewer","イベントログに書き込む文字列",EventLogEntryType.Information,_
eventid,category,mybyte)
''Imports System.Diagnostics
''が宣言されているものとする。
''EventLogオブジェクトの作成
'Dim elog As New EventLog()
''コンピュータ名を設定する
'elog.MachineName = "."
''ログの名前を設定する
'elog.Log = "MyLog"
''ソース名を設定する
'elog.Source = "MySource"
''イベントログに書き込む
'elog.WriteEntry("イベントログに書き込む文字列")
End Sub
End Class
*******************************************
Windowsサービスを作成する
*******************************************
http://msdn2.microsoft.com/ja-jp/library/d56de412.aspx
注意:Windows
XPSP2でサンプルを作成したところ、サービス起動ユーザをLocalServiceではダメだった。
(System.Security.SecurityExceptionが発生)
AccountプロパティはLocalSystemで対応。
*******************************************
VB.NET Tips
*******************************************
VB6でサポートされていた文字列固定長配列は
VB.NETではサポートされていません。
もし使いたい場合はVBFixedStringAttributeを使用します。
試した限りでは構造体の中でしか使用できないようです。
普通の変数としては宣言できません。
*******************************************
レジストリから値を取得する
*******************************************
Imports Microsoft.Win32
Module Module1
' Class1 の概要の説明です。
Sub Main()
' 操作するレジストリ・キーの名前
Dim rKeyName As String = "SOFTWARE\Microsoft\.NETFramework"
' 取得処理を行う対象となるレジストリの値の名前
Dim rGetValueName As String = "InstallRoot"
' レジストリの取得
Try
' レジストリ・キーのパスを指定してレジストリを開く
Dim rKey As RegistryKey = Registry.LocalMachine.OpenSubKey(rKeyName)
' レジストリの値を取得
Dim location As String = CStr(rKey.GetValue(rGetValueName))
' 開いたレジストリを閉じる
rKey.Close()
' コンソールに取得したレジストリの値を表示
Console.WriteLine(location)
Catch ex As NullReferenceException
' レジストリ・キーまたは値が存在しない
Console.WriteLine("レジストリ[" + rKeyName + "]の[" + rGetValueName + "]がありません!")
End Try
End Sub
End Module
最終更新:2006年09月08日 22:01