Application Application Application Application Class

정의

애플리케이션을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 애플리케이션에 대한 정보를 가져오기 위한 속성 등과 같이 애플리케이션을 관리하기 위한 static 메서드 및 속성을 제공합니다.Provides static methods and properties to manage an application, such as methods to start and stop an application, to process Windows messages, and properties to get information about an application. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
상속
ApplicationApplicationApplicationApplication

예제

다음 코드 예제에서는 폼에 목록 상자에 숫자를 표시 합니다.The following code example lists numbers in a list box on a form. 클릭할 때마다 button1, 애플리케이션 목록에 다른 숫자를 추가 합니다.Each time you click button1, the application adds another number to the list.

Main 메서드 호출 Run 폼을 만드는 애플리케이션을 시작 하려면 listBox1button1입니다.The Main method calls Run to start the application, which creates the form, listBox1 and button1. 클릭할 때 button1button1_Click 메서드 표시는 MessageBox합니다.When the user clicks button1, the button1_Click method displays a MessageBox. 클릭 하면 NoMessageBox, button1_Click 메서드 목록에 번호를 추가 합니다.If the user clicks No on the MessageBox, the button1_Click method adds a number to the list. 사용자가 클릭 하면 Yes, 애플리케이션이 호출 Exit 큐에 남아 있는 모든 메시지를 처리 하 고 종료 됩니다.If the user clicks Yes, the application calls Exit to process all remaining messages in the queue and then to quit.

참고

에 대 한 호출 Exit 부분 신뢰에서 실패 합니다.The call to Exit will fail in partial trust.

public ref class Form1: public System::Windows::Forms::Form
{
private:
   Button^ button1;
   ListBox^ listBox1;

public:
   Form1()
   {
      button1 = gcnew Button;
      button1->Left = 200;
      button1->Text =  "Exit";
      button1->Click += gcnew EventHandler( this, &Form1::button1_Click );
      listBox1 = gcnew ListBox;
      this->Controls->Add( button1 );
      this->Controls->Add( listBox1 );
   }

private:
   void Form1::button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      int count = 1;
      
      // Check to see whether the user wants to exit 
      // the application. If not, add a number to the list box.
      while ( MessageBox::Show(  "Exit application?",  "", MessageBoxButtons::YesNo ) == ::DialogResult::No )
      {
         listBox1->Items->Add( count );
         count += 1;
      }

      
      // The user wants to exit the application. 
      // Close everything down.
      Application::Exit();
   }

};

int main()
{
   
   // Starts the application.
   Application::Run( gcnew Form1 );
}

public class Form1 : Form
{
    [STAThread]
    public static void Main()
    {
        // Start the application.
        Application.Run(new Form1());
    }

    private Button button1;
    private ListBox listBox1;

    public Form1()
    {
        button1 = new Button();
        button1.Left = 200;
        button1.Text = "Exit";
        button1.Click += new EventHandler(button1_Click);

        listBox1 = new ListBox();
        this.Controls.Add(button1);
        this.Controls.Add(listBox1);
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
        int count = 1;
        // Check to see whether the user wants to exit the application.
        // If not, add a number to the list box.
        while (MessageBox.Show("Exit application?", "", 
            MessageBoxButtons.YesNo)==DialogResult.No)
        {
            listBox1.Items.Add(count);
            count += 1;
        }

        // The user wants to exit the application. 
        // Close everything down.
        Application.Exit();
    }
}
Public Class Form1 
    Inherits Form

    <STAThread()> _
     Shared Sub Main()
        ' Start the application.
        Application.Run(New Form1)
    End Sub

    Private WithEvents button1 As Button
    Private WithEvents listBox1 As ListBox

    Public Sub New()
        button1 = New Button
        button1.Left = 200
        button1.Text = "Exit"

        listBox1 = New ListBox
        Me.Controls.Add(button1)
        Me.Controls.Add(listBox1)
    End Sub

    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles button1.Click
        Dim count As Integer = 1
        ' Check to see whether the user wants to exit the application.
        ' If not, add a number to the list box.
        While (MessageBox.Show("Exit application?", "", _
            MessageBoxButtons.YesNo) = DialogResult.No)

            listBox1.Items.Add(count)
            count += 1

        End While

        ' The user wants to exit the application. 
        ' Close everything down.
        Application.Exit()
    End Sub

End Class

설명

Application 클래스에는 메서드가 시작 애플리케이션 및 스레드를 중지 하 고 다음과 같이 Windows 메시지를 처리 합니다.The Application class has methods to start and stop applications and threads, and to process Windows messages, as follows:

  • Run 현재 스레드에서 애플리케이션 메시지 루프를 시작 하 고 필요에 따라 표시 되도록 폼을 만듭니다.Run starts an application message loop on the current thread and, optionally, makes a form visible.

  • Exit 또는 ExitThread 메시지 루프를 중지 합니다.Exit or ExitThread stops a message loop.

  • DoEvents 루프에서 프로그램은 메시지를 처리 합니다.DoEvents processes messages while your program is in a loop.

  • AddMessageFilter Windows 메시지를 모니터링 하는 애플리케이션 메시지 펌프에 메시지 필터를 추가 합니다.AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.

  • IMessageFilter 이벤트 발생을 중지 하거나 이벤트 처리기를 호출 하기 전에 특별 한 작업을 수행할 수 있습니다.IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.

이 클래스에 CurrentCultureCurrentInputLanguage 문화권 현재 스레드에 대 한 정보를 속성을 가져오거나 설정 합니다.This class has CurrentCulture and CurrentInputLanguage properties to get or set culture information for the current thread.

이 클래스의 인스턴스를 만들 수 없습니다.You cannot create an instance of this class.

속성

AllowQuit AllowQuit AllowQuit AllowQuit

호출자가 해당 애플리케이션을 끝낼 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the caller can quit this application.

CommonAppDataPath CommonAppDataPath CommonAppDataPath CommonAppDataPath

모든 사용자가 공유하는 애플리케이션 데이터의 경로를 가져옵니다.Gets the path for the application data that is shared among all users.

CommonAppDataRegistry CommonAppDataRegistry CommonAppDataRegistry CommonAppDataRegistry

모든 사용자가 공유하는 애플리케이션 데이터의 레지스트리 키를 가져옵니다.Gets the registry key for the application data that is shared among all users.

CompanyName CompanyName CompanyName CompanyName

애플리케이션과 관련된 회사 이름을 가져옵니다.Gets the company name associated with the application.

CurrentCulture CurrentCulture CurrentCulture CurrentCulture

현재 스레드에 대한 문화권 정보를 가져오거나 설정합니다.Gets or sets the culture information for the current thread.

CurrentInputLanguage CurrentInputLanguage CurrentInputLanguage CurrentInputLanguage

현재 스레드의 현재 입력 언어를 가져오거나 설정합니다.Gets or sets the current input language for the current thread.

ExecutablePath ExecutablePath ExecutablePath ExecutablePath

애플리케이션을 시작한 실행 파일의 경로(실행 파일 이름 포함)를 가져옵니다.Gets the path for the executable file that started the application, including the executable name.

HighDpiMode HighDpiMode HighDpiMode HighDpiMode

애플리케이션에 대한 현재 높은 DPI 모드를 가져옵니다.Gets the current high DPI mode for the application.

LocalUserAppDataPath LocalUserAppDataPath LocalUserAppDataPath LocalUserAppDataPath

로밍 사용자가 아닌 로컬 사용자의 애플리케이션 데이터 경로를 가져옵니다.Gets the path for the application data of a local, non-roaming user.

MessageLoop MessageLoop MessageLoop MessageLoop

이 스레드에 메시지 루프가 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether a message loop exists on this thread.

OpenForms OpenForms OpenForms OpenForms

애플리케이션에서 소유한 열려 있는 폼의 컬렉션을 가져옵니다.Gets a collection of open forms owned by the application.

ProductName ProductName ProductName ProductName

이 애플리케이션과 관련된 제품 이름을 가져옵니다.Gets the product name associated with this application.

ProductVersion ProductVersion ProductVersion ProductVersion

이 애플리케이션과 관련된 제품 버전을 가져옵니다.Gets the product version associated with this application.

RenderWithVisualStyles RenderWithVisualStyles RenderWithVisualStyles RenderWithVisualStyles

현재 애플리케이션에서 비주얼 스타일로 컨트롤을 그리고 있는지 여부를 지정하는 값을 가져옵니다.Gets a value specifying whether the current application is drawing controls with visual styles.

SafeTopLevelCaptionFormat SafeTopLevelCaptionFormat SafeTopLevelCaptionFormat SafeTopLevelCaptionFormat

경고 배너와 함께 최상위 창 캡션이 표시될 때 이 캡션에 적용될 서식 문자열을 가져오거나 설정합니다.Gets or sets the format string to apply to top-level window captions when they are displayed with a warning banner.

StartupPath StartupPath StartupPath StartupPath

애플리케이션을 시작한 실행 파일의 경로(실행 파일 이름 제외)를 가져옵니다.Gets the path for the executable file that started the application, not including the executable name.

UserAppDataPath UserAppDataPath UserAppDataPath UserAppDataPath

사용자의 애플리케이션 데이터 경로를 가져옵니다.Gets the path for the application data of a user.

UserAppDataRegistry UserAppDataRegistry UserAppDataRegistry UserAppDataRegistry

사용자의 애플리케이션 데이터에 대한 레지스트리 키를 가져옵니다.Gets the registry key for the application data of a user.

UseVisualStyles UseVisualStyles UseVisualStyles UseVisualStyles

애플리케이션에 시각적 스타일을 사용할 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether visual styles are enabled for the application.

UseWaitCursor UseWaitCursor UseWaitCursor UseWaitCursor

대기 커서가 애플리케이션의 열려 있는 모든 폼에 사용되는지 여부를 가져오거나 설정합니다.Gets or sets whether the wait cursor is used for all open forms of the application.

VisualStyleState VisualStyleState VisualStyleState VisualStyleState

비주얼 스타일이 애플리케이션 창에 적용되는 방법을 지정하는 값을 가져옵니다.Gets a value that specifies how visual styles are applied to application windows.

메서드

AddMessageFilter(IMessageFilter) AddMessageFilter(IMessageFilter) AddMessageFilter(IMessageFilter) AddMessageFilter(IMessageFilter)

Windows 메시지가 대상 위치로 라우팅될 때 해당 메시지를 모니터링하기 위해 메시지 필터를 추가합니다.Adds a message filter to monitor Windows messages as they are routed to their destinations.

DoEvents() DoEvents() DoEvents() DoEvents()

현재 메시지 큐에 있는 모든 Windows 메시지를 처리합니다.Processes all Windows messages currently in the message queue.

EnableVisualStyles() EnableVisualStyles() EnableVisualStyles() EnableVisualStyles()

애플리케이션에 비주얼 스타일을 사용합니다.Enables visual styles for the application.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Exit() Exit() Exit() Exit()

모든 메시지 펌프에 끝나야 함을 알리고 메시지가 처리된 후 모든 애플리케이션 창을 닫습니다.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

Exit(CancelEventArgs) Exit(CancelEventArgs) Exit(CancelEventArgs) Exit(CancelEventArgs)

모든 메시지 펌프에 끝나야 함을 알리고 메시지가 처리된 후 모든 애플리케이션 창을 닫습니다.Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed.

ExitThread() ExitThread() ExitThread() ExitThread()

현재 스레드의 메시지 루프를 종료하고 스레드의 모든 창을 닫습니다.Exits the message loop on the current thread and closes all windows on the thread.

FilterMessage(Message) FilterMessage(Message) FilterMessage(Message) FilterMessage(Message)

창 메시지에 대한 필터를 실행하고 수정된 메시지의 복사본을 반환합니다.Runs any filters against a window message, and returns a copy of the modified message.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
OleRequired() OleRequired() OleRequired() OleRequired()

현재 스레드의 OLE를 초기화합니다.Initializes OLE on the current thread.

OnThreadException(Exception) OnThreadException(Exception) OnThreadException(Exception) OnThreadException(Exception)

ThreadException 이벤트를 발생시킵니다.Raises the ThreadException event.

RaiseIdle(EventArgs) RaiseIdle(EventArgs) RaiseIdle(EventArgs) RaiseIdle(EventArgs)

호스팅된 시나리오에서 Idle 이벤트를 발생시킵니다.Raises the Idle event in hosted scenarios.

RegisterMessageLoop(Application+MessageLoopCallback) RegisterMessageLoop(Application+MessageLoopCallback) RegisterMessageLoop(Application+MessageLoopCallback) RegisterMessageLoop(Application+MessageLoopCallback)

호스팅된 환경에서 메시지 루프가 실행 중인지 여부를 확인하기 위한 콜백을 등록합니다.Registers a callback for checking whether the message loop is running in hosted environments.

RemoveMessageFilter(IMessageFilter) RemoveMessageFilter(IMessageFilter) RemoveMessageFilter(IMessageFilter) RemoveMessageFilter(IMessageFilter)

애플리케이션의 메시지 펌프에서 메시지 필터를 제거합니다.Removes a message filter from the message pump of the application.

Restart() Restart() Restart() Restart()

애플리케이션을 종료하고 즉시 새 인스턴스를 시작합니다.Shuts down the application and starts a new instance immediately.

Run() Run() Run() Run()

폼을 사용하지 않고 현재 스레드에서 표준 애플리케이션 메시지 루프를 실행하기 시작합니다.Begins running a standard application message loop on the current thread, without a form.

Run(ApplicationContext) Run(ApplicationContext) Run(ApplicationContext) Run(ApplicationContext)

ApplicationContext를 사용하여 현재 스레드에서 표준 애플리케이션 메시지 루프를 실행하기 시작합니다.Begins running a standard application message loop on the current thread, with an ApplicationContext.

Run(Form) Run(Form) Run(Form) Run(Form)

현재 스레드에서 표준 애플리케이션 메시지 루프의 실행을 시작하고 지정된 폼을 표시합니다.Begins running a standard application message loop on the current thread, and makes the specified form visible.

SetCompatibleTextRenderingDefault(Boolean) SetCompatibleTextRenderingDefault(Boolean) SetCompatibleTextRenderingDefault(Boolean) SetCompatibleTextRenderingDefault(Boolean)

특정 컨트롤에 정의된 UseCompatibleTextRendering 속성에 대한 애플리케이션 수준의 기본값을 설정합니다.Sets the application-wide default for the UseCompatibleTextRendering property defined on certain controls.

SetHighDpiMode(HighDpiMode) SetHighDpiMode(HighDpiMode) SetHighDpiMode(HighDpiMode) SetHighDpiMode(HighDpiMode)

프로세스의 높은 DPI 모드를 설정합니다.Sets the high DPI mode of the process.

SetSuspendState(PowerState, Boolean, Boolean) SetSuspendState(PowerState, Boolean, Boolean) SetSuspendState(PowerState, Boolean, Boolean) SetSuspendState(PowerState, Boolean, Boolean)

시스템을 일시 중단하거나 최대 절전 모드로 전환하거나, 시스템을 일시 중단하거나 최대 절전 모드로 전환하도록 요구합니다.Suspends or hibernates the system, or requests that the system be suspended or hibernated.

SetUnhandledExceptionMode(UnhandledExceptionMode) SetUnhandledExceptionMode(UnhandledExceptionMode) SetUnhandledExceptionMode(UnhandledExceptionMode) SetUnhandledExceptionMode(UnhandledExceptionMode)

처리되지 않은 예외에 응답하는 방법을 애플리케이션에 지시합니다.Instructs the application how to respond to unhandled exceptions.

SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean)

처리되지 않은 예외에 응답하고 필요에 따라 스레드 관련 동작을 적용하는 방법을 애플리케이션에 지시합니다.Instructs the application how to respond to unhandled exceptions, optionally applying thread-specific behavior.

ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)
UnregisterMessageLoop() UnregisterMessageLoop() UnregisterMessageLoop() UnregisterMessageLoop()

RegisterMessageLoop(Application+MessageLoopCallback)를 사용하여 등록한 메시지 루프 콜백의 등록을 취소합니다.Unregisters the message loop callback made with RegisterMessageLoop(Application+MessageLoopCallback).

이벤트

ApplicationExit ApplicationExit ApplicationExit ApplicationExit

애플리케이션이 종료되려고 할 때 발생합니다.Occurs when the application is about to shut down.

EnterThreadModal EnterThreadModal EnterThreadModal EnterThreadModal

애플리케이션이 모달 상태로 전환되려고 할 때 발생합니다.Occurs when the application is about to enter a modal state.

Idle Idle Idle Idle

애플리케이션이 처리를 끝내고 유휴 상태가 되려고 할 때 발생합니다.Occurs when the application finishes processing and is about to enter the idle state.

LeaveThreadModal LeaveThreadModal LeaveThreadModal LeaveThreadModal

애플리케이션이 모달 상태에서 벗어나려고 할 때 발생합니다.Occurs when the application is about to leave a modal state.

ThreadException ThreadException ThreadException ThreadException

포착되지 않은 스레드 예외가 throw될 때 발생합니다.Occurs when an untrapped thread exception is thrown.

ThreadExit ThreadExit ThreadExit ThreadExit

스레드가 종료되려고 할 때 발생합니다.Occurs when a thread is about to shut down. 애플리케이션의 주 스레드가 종료되려고 할 때 이 이벤트가 발생한 다음 ApplicationExit 이벤트가 발생합니다.When the main thread for an application is about to be shut down, this event is raised first, followed by an ApplicationExit event.

적용 대상