Exemple #1
0
        static void Main()
        {
            bool firstProc;
                Mutex ChewieMutex = new Mutex
                (
                true,
                "Chewiebot_86374h91h",
                out firstProc
                );

                //if ( !firstProc )
                //  return;

                chatparser = new ChatParser ();
                Application.SetCompatibleTextRenderingDefault ( false );
                Application.EnableVisualStyles ();
                Chewiewin = new Form1 ();
                Chewiewin.Show ();

                bool waited = false;

                Chewiewin.SendtoChewie ( "Loading ChewieBot - Press \"X\" to close..." );

                if ( !chatparser.GetSteamClient () )
                {
                    int i = 0;
                    Chewiewin.SendtoChewie ( "Unable get SteamClient interface!  Retrying." );
                    while ( !chatparser.GetSteamClient() )
                    {
                        chatparser.GetSteamClient ();
                        ++i;
                        if ( i == 10 )
                        {
                            MessageBox.Show ( "Error! Unable to find Steam!  Check that it's installed and is updated!" );
                            Application.Exit ();
                        }

                    }
                    return;
                }

                if ( !chatparser.GetPipe () )
                {
                    Chewiewin.SendtoChewie ( "Steam is currently not running.. Waiting for it to startup." );
                    waited = true;

                    while ( !chatparser.GetPipe () )
                    {
                        Application.DoEvents ();
                        Thread.Sleep ( 100 );
                    }

                    // get the pipe again just in case
                    if ( !chatparser.GetPipe () )
                    {
                        Chewiewin.SendtoChewie ( "Error getting steam pipe after steam startup!" );
                        return;
                    }
                }
                else
                {
                    Chewiewin.SendtoChewie ( "Got Steam Pipe! Continuing..." );
                }

                while ( !chatparser.GetUser () )
                {
                    Application.DoEvents ();

                    Thread.Sleep ( 100 );
                }

                // wait for steam to full start itself
                if ( waited )
                    Thread.Sleep ( 100 );

                if ( !chatparser.getLogSettings () )
                {
                    Chewiewin.SendtoChewie ( "Error loading settings.txt!" );
                }
                else
                {
                    Chewiewin.SendtoChewie ( "Loaded settings.txt!" );
                }

                // get the user again
                if ( !chatparser.GetUser () )
                {
                    Chewiewin.SendtoChewie ( "Error getting steam user after steam startup!" );
                    return;
                }
                else
                {
                    Chewiewin.SendtoChewie ( "Got Steam User! Continuing..." );
                }

                if ( !chatparser.GetInterface () )
                {
                    Chewiewin.SendtoChewie ( "Unable to get SteamFriends interface!" );
                    return;
                }
                else
                {
                    Chewiewin.SendtoChewie ( "Got SteamFriends interface!  Waiting for messages..." );
                }

                while ( firstProc )
                {

                    Application.DoEvents ();
                    Thread.Sleep ( 10 );
                }
                GC.KeepAlive ( ChewieMutex );
        }