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 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