次の方法で共有


App オブジェクト (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

ここでは、Visual Basic 6.0 の App オブジェクトと Visual Basic 2008 でそれに対応するものを比較します。

Visual Basic 6.0 の App オブジェクトは、アプリケーションに関する情報を設定または取得するためのグローバル オブジェクトです。Visual Basic 2008 には、App オブジェクトに直接対応するものはありません。ただし、ほとんどのプロパティ、メソッド、およびイベントは、.NET Framework の対応するメンバで置き換えることができます。

概念の違い

Version Information プロパティ

App オブジェクトの Version Information プロパティは、Visual Basic 2008 では Assembly 属性で置き換えられます。Version Information プロパティは、[プロジェクトのプロパティ] ダイアログ ボックスで設定します。Assembly 属性は、[アセンブリ情報] ダイアログ ボックスで設定します。このダイアログ ボックスを表示するには、プロジェクト デザイナの [アプリケーション] タブの [アセンブリ情報] ボタンをクリックします。

fc353bw2.alert_note(ja-jp,VS.90).gifメモ :

Version Information プロパティは、プロジェクト (.vbp) ファイルに保存されます。このファイルは、メモ帳などのテキスト エディタを使って編集できます。Assembly 属性は、AssemblyInfo.vb ファイルに保存され、コード エディタで編集できます。

File Description プロパティ

The Visual Basic 6.0 の App オブジェクトには、FileDescription プロパティと Title プロパティがあります。FileDescription は、Windows エクスプローラに表示される説明のテキストを指定します。

Visual Basic 2008 には、FileDescription 属性がありません。代わりに Title 属性が、Windows エクスプローラに表示される説明のテキストを指定します。

HelpFile プロパティ

Visual Basic 6.0 では、HelpFile プロパティがアプリケーション レベルでヘルプ ファイルを指定します。

Visual Basic 2008 では、ヘルプ ファイルは、フォームごとに HelpProvider コンポーネントを使って指定します。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

Version プロパティ

Visual Basic 6.0 の Major、Minor、および Revision の各プロパティは、3 つの部分で構成されるアプリケーションのバージョン番号を取得するために使用します。

Visual Basic 2008 では、Build プロパティもバージョン情報に含まれます。4 つの部分で構成される完全なバージョン番号を取得するには、Version プロパティを使用します。詳細については、「バージョン番号 (Visual Basic 6.0 ユーザー向け)」を参照してください。

Title プロパティ

Visual Basic 6.0 の App オブジェクトの Title プロパティは、プログラムで変更できます。そうすることにより、Windows のタスク マネージャに表示される名前を指定できます。

Visual Basic 2008 では、Title 属性は読み取り専用です。アプリケーションのメイン フォームの Text プロパティによって、タスク マネージャに表示される名前が決定されます。Text プロパティをプログラムで設定することはできますが、フォームのタイトル バーに表示されるテキストも変更されます。

TaskVisible プロパティ

Visual Basic 6.0 では、App オブジェクトの TaskVisible プロパティによって、Windows のタスク一覧 (Windows 9x) またはタスク マネージャの [アプリケーション] タブ (Windows 2000 以降) にアプリケーションを表示するかどうかが決定されます。一般に、このプロパティは、バックグラウンド タスクとして実行されるように設計したアプリケーションをユーザーが終了できないようにするために使用します。ほとんどの場合、TaskVisible プロパティは、ユーザー インターフェイスを表示しないアプリケーションで使用します。

Visual Basic 2008 には TaskVisible プロパティに対応するプロパティはありませんが、タスク一覧に表示されない Windows サービスまたはコンソール アプリケーションを作成することはできます。

PrevInstance プロパティ

Visual Basic 6.0 では、PrevInstance プロパティは、アプリケーションのインスタンスが既に実行中かどうかを表します。通常、アプリケーションの起動時に PrevInstance を呼び出し、true が返された場合にアプリケーションの実行を中止します。

Visual Basic 2008 の PrevInstance には、これらに直接対応するものはありません。アプリケーションの複数のインスタンスが存在できるかどうかを制御するには、プロジェクト デザイナの [アプリケーション] タブの [複数インスタンス] プロパティを設定します。実行時には、ユーザーがアプリケーションの別のインスタンスを起動しようとすると、NextInstanceStarted イベントが発生します。このイベント ハンドラには、アプリケーションの最初のインスタンスをアクティブにするコードを追加できます。

他の違い

Visual Basic 6.0 には、ActiveX コンポーネント、OLE オートメーション、およびその他の技術に関連する多数の App オブジェクト プロパティが互換性のために残されていますが、これらは Visual Basic 2008 ではサポートされません。このようなプロパティは、このトピックの後の部分にある「App オブジェクト プロパティで対応するもの」という表に示します。

App オブジェクトを扱うコードの変更

次のコード例では、App オブジェクトの一般的な使い方における Visual Basic 6.0 と Visual Basic 2008 でのコーディング テクニックの違いを示します。

アプリケーションのバージョン番号を表示するコードの変更

次のコード例は、アプリケーションのバージョン番号を取得し、ラベルに表示する方法を示しています。

' Visual Basic 6.0
Label1.Caption = "Version: " & App.Major & "." & App.Minor & "." _
& App.Revision
' Visual Basic
Label1.Text = My.Application.Info.Version.ToString()

アプリケーションのパスを確認するコードの変更

次のコード例は、実行中のアプリケーションのパスを取得することにより、アプリケーションのフォルダに格納されている画像ファイルを表示する方法を示しています。

' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\Logo.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
  My.Application.Info.DirectoryPath & "\Logo.jpg")

アプリケーションの 2 番目のインスタンスが実行されないようにするコードの変更

次のコード例は、単一インスタンス アプリケーションの実装方法を示しています。

' Visual Basic 6.0
Private Sub Form_Load()
    If App.PrevInstance = True Then
        MsgBox("The application is already running!")
    End If
End Sub
' Visual Basic
' Assumes that the Make Single Instance Application checkbox in the 
' Project Designer has been checked.

Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices. _
StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
    MsgBox("The application is already running!")
End Sub

App オブジェクト プロパティで対応するもの

次の表は、Visual Basic 6.0 の App オブジェクトのすべてのプロパティおよびメソッドと、Visual Basic 2008 でそれらに対応するものを示します。

Visual Basic 6.0

Visual Basic 2008 で対応するもの

Comments

My.Application.Info.Description プロパティ

CompanyName

My.Application.Info.CompanyName プロパティ

EXEName

My.Application.Info.AssemblyName プロパティ

FileDescription

My.Application.Info.Title プロパティ

HelpFile

新規に実装されました。HelpProvider コンポーネントを使用します。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

HInstance

GetHINSTANCE

LegalCopyright

My.Application.Info.Copyright プロパティ

LegalTrademarks

My.Application.Info.Trademark プロパティ

LogEvent method

WriteEntry メソッド (My.Application.Log and My.Log)

LogMode

LogPath

新規に実装されました。詳細については、「アプリケーションからの情報のログ記録」を参照してください。

Major

My.Application.Info.Version プロパティ

fc353bw2.alert_note(ja-jp,VS.90).gifメモ :
バージョン番号の形式は、Visual Basic 2008 では異なります。詳細については、「バージョン番号 (Visual Basic 6.0 ユーザー向け)」を参照してください。

Minor

My.Application.Info.Version プロパティ

fc353bw2.alert_note(ja-jp,VS.90).gifメモ :
バージョン番号の形式は、Visual Basic 2008 では異なります。詳細については、「バージョン番号 (Visual Basic 6.0 ユーザー向け)」を参照してください。

NonModalAllowed

新規に実装されました。これは ActiveX の .dll ファイルに関連した読み取り専用プロパティです。共通言語ランタイムでは、この動作を自動的に管理します。

OleRequestPendingMsgText

OleRequestPendingMsgTitle

OleRequestPendingTimeout

OleServerBusyMsgText

OleServerBusyMsgTitle

OleServerBusyRaiseError

OleServerBusyTimeout

対応する項目はありません。これらのプロパティは、Visual Basic 2008 ではサポートされていない OLE オートメーションに関連するプロパティです。

Path

My.Application.Info.DirectoryPath プロパティ

PrevInstance

IsSingleInstance

fc353bw2.alert_note(ja-jp,VS.90).gifメモ :
IsSingleInstance プロパティは、Protected プロパティです。これは、デザイン時にプロジェクト デザイナの [複数インスタンス] チェック ボックスをオンまたはオフにすることによってのみ設定できます。

ProductName

My.Application.Info.ProductName プロパティ

RetainedProject

新規に実装されました。Visual Basic 2008 では、プロジェクトをメモリに保持できません。

Revision

My.Application.Info.Version プロパティ

fc353bw2.alert_note(ja-jp,VS.90).gifメモ :
バージョン番号の形式は、Visual Basic 2008 では異なります。詳細については、「バージョン番号 (Visual Basic 6.0 ユーザー向け)」を参照してください。

StartLogging method

新規に実装されました。詳細については、「アプリケーションからの情報のログ記録」を参照してください。

StartMode

対応する項目はありません。これは、ActiveX コンポーネントの作成に関連するプロパティです。ActiveX コンポーネントは、Visual Basic 2008 ではサポートされません。

TaskVisible

新規に実装されました。タスク マネージャに表示しないアプリケーションを作成するには、Windows サービスまたはコンソール アプリケーションのプロジェクトを作成します。

ThreadID

新規に実装されました。このプロパティは、実行中のスレッドの ID を返します。スレッド処理モデルは、Visual Basic 2008 では大きく異なります。

Title

My.Application.Info.Title プロパティ

UnattendedApp

新規に実装されました。Visual Basic 2008 の無人アプリケーションの場合は、コンソール アプリケーション プロジェクトを作成します。

アップグレード メモ

アプリケーションを Visual Basic 6.0 からアップグレードすると、Major プロパティと Minor プロパティだけがアップグレードされます。Visual Basic 2008 は、Revision プロパティと Build プロパティに新しい値を割り当てます。

参照

概念

ヘルプ サポート (Visual Basic 6.0 ユーザー向け)

バージョン番号 (Visual Basic 6.0 ユーザー向け)

参照

My.Application オブジェクト