Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. WPF
  4. Application.Run C# equivalent

Application.Run C# equivalent

Scheduled Pinned Locked Moved WPF
csharpwpfquestion
17 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    GregJ7
    wrote on last edited by
    #1

    Where can I find a C# equivalent (code) for the WPF, Microsoft-hidden Application.Run method?

    L G P 3 Replies Last reply
    0
    • G GregJ7

      Where can I find a C# equivalent (code) for the WPF, Microsoft-hidden Application.Run method?

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      Application.Run Method (System.Windows.Forms)[^]

      G 1 Reply Last reply
      0
      • L Lost User

        Application.Run Method (System.Windows.Forms)[^]

        G Offline
        G Offline
        GregJ7
        wrote on last edited by
        #3

        That web page does not have the C# code equivalent of WPF's Application.Run() method. i.e., with a loop with GetMessage, DispatchMessage, etc.

        L 1 Reply Last reply
        0
        • G GregJ7

          That web page does not have the C# code equivalent of WPF's Application.Run() method. i.e., with a loop with GetMessage, DispatchMessage, etc.

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          As far as I can see it is the same, the difference being that it starts a Windows.Forms application, rather than a WPF one. You need to give more details of your actual problem.

          G 2 Replies Last reply
          0
          • L Lost User

            As far as I can see it is the same, the difference being that it starts a Windows.Forms application, rather than a WPF one. You need to give more details of your actual problem.

            G Offline
            G Offline
            GregJ7
            wrote on last edited by
            #5

            The present WPF equivalent of what used to be:

            BOOL bRet;

            while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
            {
            if (bRet == -1)
            {
            // handle the error and possibly exit
            }
            else
            {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
            }
            }

            L 1 Reply Last reply
            0
            • L Lost User

              As far as I can see it is the same, the difference being that it starts a Windows.Forms application, rather than a WPF one. You need to give more details of your actual problem.

              G Offline
              G Offline
              GregJ7
              wrote on last edited by
              #6

              That is,

              public class Application {
              private void Run() {

                  // What code has Microsoft put here?
              
              }
              

              }

              L Richard DeemingR 2 Replies Last reply
              0
              • G GregJ7

                The present WPF equivalent of what used to be:

                BOOL bRet;

                while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
                {
                if (bRet == -1)
                {
                // handle the error and possibly exit
                }
                else
                {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
                }
                }

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #7

                That is Win32, not .NET, and the .NET equivalent is handled inside the framework.

                1 Reply Last reply
                0
                • G GregJ7

                  That is,

                  public class Application {
                  private void Run() {

                      // What code has Microsoft put here?
                  
                  }
                  

                  }

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #8

                  GregJ7 wrote:

                  // What code has Microsoft put here?

                  You would have to ask Microsoft. Or buy an MSDN developer subscription which gives you access to their source code.

                  1 Reply Last reply
                  0
                  • G GregJ7

                    Where can I find a C# equivalent (code) for the WPF, Microsoft-hidden Application.Run method?

                    G Offline
                    G Offline
                    GregJ7
                    wrote on last edited by
                    #9

                    Has anyone that knows what WPF Application.Run() does written a C# function that duplicates what it does? Can you point me to that code? Thanks.

                    L 1 Reply Last reply
                    0
                    • G GregJ7

                      Has anyone that knows what WPF Application.Run() does written a C# function that duplicates what it does? Can you point me to that code? Thanks.

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #10

                      I already told you the answer. I also suggested that you explain what problem you are trying to solve.

                      G 1 Reply Last reply
                      0
                      • L Lost User

                        I already told you the answer. I also suggested that you explain what problem you are trying to solve.

                        G Offline
                        G Offline
                        GregJ7
                        wrote on last edited by
                        #11

                        Where did you tell me everything what Application.Run() does and how it does it? If you can't understand my question or don't know the answer to my question, then I would like an answer from someone who does.

                        L 1 Reply Last reply
                        0
                        • G GregJ7

                          Where did you tell me everything what Application.Run() does and how it does it? If you can't understand my question or don't know the answer to my question, then I would like an answer from someone who does.

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #12

                          I told you where to find the information. Whatever that method does is internal to Microsoft, so they are the people to answer the question. What you have still not done, is to explain exactly what problem (if you actually have one) you are trying to solve.

                          1 Reply Last reply
                          0
                          • G GregJ7

                            Where can I find a C# equivalent (code) for the WPF, Microsoft-hidden Application.Run method?

                            P Offline
                            P Offline
                            Pete OHanlon
                            wrote on last edited by
                            #13

                            You could always take a look at the publicly available[^] reference source code.

                            This space for rent

                            G 1 Reply Last reply
                            0
                            • P Pete OHanlon

                              You could always take a look at the publicly available[^] reference source code.

                              This space for rent

                              G Offline
                              G Offline
                              GregJ7
                              wrote on last edited by
                              #14

                              Tyvm!

                              P 1 Reply Last reply
                              0
                              • G GregJ7

                                Tyvm!

                                P Offline
                                P Offline
                                Pete OHanlon
                                wrote on last edited by
                                #15

                                I'm old. That took me a minute to translate :) You are most welcome.

                                This space for rent

                                1 Reply Last reply
                                0
                                • G GregJ7

                                  That is,

                                  public class Application {
                                  private void Run() {

                                      // What code has Microsoft put here?
                                  
                                  }
                                  

                                  }

                                  Richard DeemingR Offline
                                  Richard DeemingR Offline
                                  Richard Deeming
                                  wrote on last edited by
                                  #16

                                  Reference Source[^]

                                  public int Run()
                                  {
                                  EventTrace.EasyTraceEvent(EventTrace.Keyword.KeywordGeneral | EventTrace.Keyword.KeywordPerf, EventTrace.Event.WClientAppRun);
                                  return this.Run(null);
                                  }

                                  public int Run(Window window)
                                  {
                                  VerifyAccess();

                                  //
                                  // Browser hosted app should not explictly call App.Run(). We need to filter out those
                                  // calls here
                                  //
                                  if (InBrowserHostedApp())
                                  {
                                      throw new InvalidOperationException(SR.Get(SRID.CannotCallRunFromBrowserHostedApp));
                                  }
                                  else
                                  {
                                      return RunInternal(window);
                                  }
                                  

                                  }


                                  "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                                  "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                                  G 1 Reply Last reply
                                  0
                                  • Richard DeemingR Richard Deeming

                                    Reference Source[^]

                                    public int Run()
                                    {
                                    EventTrace.EasyTraceEvent(EventTrace.Keyword.KeywordGeneral | EventTrace.Keyword.KeywordPerf, EventTrace.Event.WClientAppRun);
                                    return this.Run(null);
                                    }

                                    public int Run(Window window)
                                    {
                                    VerifyAccess();

                                    //
                                    // Browser hosted app should not explictly call App.Run(). We need to filter out those
                                    // calls here
                                    //
                                    if (InBrowserHostedApp())
                                    {
                                        throw new InvalidOperationException(SR.Get(SRID.CannotCallRunFromBrowserHostedApp));
                                    }
                                    else
                                    {
                                        return RunInternal(window);
                                    }
                                    

                                    }


                                    "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                                    G Offline
                                    G Offline
                                    GregJ7
                                    wrote on last edited by
                                    #17

                                    Thanks. I found what I wanted in the Dispatcher class (which class Application uses). I needed to see more than I thought, because there is so much important code, however, what I originally was looking for was basically the following in Dispatcher.PushFrameImpl():

                                    while(frame.Continue)
                                    {
                                    if (!GetMessage(ref msg, IntPtr.Zero, 0, 0))
                                    break;

                                    TranslateAndDispatchMessage(ref msg);
                                    

                                    }

                                    From this code I was led to learn about thread Frames and such.

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • World
                                    • Users
                                    • Groups