Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
rogério dos santos araujo

comparar se um outro executável existe

Recommended Posts

boa tarde o que eu quero é simples mas ta difícil para mim pois estou enngatinhando ainda  quero que esse código verifique se existe um outro executável se existir deixa o programa executar se não existir o programa não exexuta e da uma mensagem de erro para procurar o administrador

 

tentei fazer assim

 


int main(int argc,char *argv[]){
 
FILE *fp;
fp=fopen("c:\\arcade\\arcade1.exe","r");
if(fp){
    return(1);

    }else{
    printf("Game Over\nTry again");
}
return(0);
exit(0);
}

 

mas assi o programa nem executa e nem mostra a mensagem alguém pode ajudar?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rogério dos santos araujo
 

int main(int argc,char *argv[]){
 
FILE *fp;
fp=fopen("c:\\arcade\\arcade1.exe","r");
if(fp)
{
	system ("c:\\arcade\\arcade1.exe");
}
else
{
	printf("Game Over\nTry again");
	exit(0);
}
}

 Você abria o arquivo pra leitura mais não fazia ele executar nada quando verificava se existia o arquivo

Editado por Xaws
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico


  • int main(int argc,char *argv[]){ FILE *fp; fp=fopen("c:\\arcade\\arcade1.exe","r"); if(fp) { system ("c:\\arcade\\arcade1.exe"); } else { printf("Game Over\nTry again"); exit(0); } }

     

    na verdade não quero executar o arcade1.exe só quero que o programa verifique a existencia dele exemplo vou criar um executavel com esse código vou clicar no executavel do codigo ele vai verificar a existencia desse 2° executavel caso exista ele continua a execução se não existir o arcade1.exe ele da uma mensagem de erro e fecha

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @rogério dos santos araujo  Então ta certo

    Faz assim oh 

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arcade1.exe","r");
    if(fp)
    {
         #include "c:\\arcade\\executavel2.c"  //Em executavel2.c vai o código do arquivo que você deseja que ele excute
         //caso não deseje executar um arquivo coloque o código abaixo do que ira fazer
        }
    	else
    	{
        printf("Game Over\nTry again");
        exit(0);
    }
    }

     

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • nessa parte aqui

    Citação

    #include "c:\\arcade\\executavel2.c" //Em executavel2.c vai o código do arquivo que você deseja que ele excute //caso não deseje executar um arquivo coloque o código abaixo do que ira fazer[

     

     

    quero que ele verifique a existencia do arcade1.exe se não existir fecha

    Editado por rogério dos santos araujo
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Então man você não ta entendo,olha...

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arcade1.exe","r");
    if(fp)
    {
         printf("Arquivo existe");
        }
    	else
    	{
        printf("Game Over\nTry again");
        exit(0);
    }
    }

     Dessa forma ele vai verificar se o arquivo arcade1.exe existe,se existir ele vai executar o comando printf("arquivo existe");
     e se não existir ele vai dar printf("game over\ntry again); e vai fechar.
     Entendeu? 
    Ai o que você vai fazer no caso é colocar no lugar de printf("arquivo existe"); o que o código vai fazer ao verificar e ver que o arquivo existe.
    Testa ai
     

    Editado por Xaws
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • acho que seria quase isso mas ta dando erro

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arcade1.exe","r");
    if(fp)
    {
        // #include "c:\\arcade\\executavel2.c"  //Em executavel2.c vai o código do arquivo que você deseja que ele excute
         //caso não deseje executar um arquivo coloque o código abaixo do que ira fazer
        
        if (FileExists("c:\\arcade\\arcade1.exe"))
        return(1)
    }
        else
        {
        printf("Game Over\nTry again");
        exit(0);
    }
    }
     
    Editado por rogério dos santos araujo
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    NOP.vai ser do jeito que postei antes mesmo...
     Testa ai pra você ver,você cola em seu compilador:
     

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arcade1.exe","r");
    if(fp)
    {
         printf("Arquivo existe");
        }
    	else
    	{
        printf("Game Over\nTry again");
        exit(0);
    }
    }

     Caso o arquivo arcade1.exe exista ele vai executar o printf ("arquivo existe)"  que no caso você deve mudar pra ação que você deseja e caso o arquivo não exista ele vai retornar a mensagem printf("game over\ntry again); e vai fechar
     Testa ai,se não for isso que você deseja explica melhor porque o que eu entendi foi isso (checar se o arcade1.exe existe e executa uma ação,caso contrário executa outra)

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • o problema agora é o seguinte eu inclui esse código ao do meu programa e compila normal mas quando eu executo o meu programa ele não abre nem com o arcade1.exe estando la e nem sem ele

     

    codigo 

     

    
    /*
     * This file is part of the Advance project.
     *
     * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009 Andrea Mazzoleni
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details. 
     *
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     */
    
    #include <stdio.h>
    #include "portable.h"
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include "mconfig.h"
    #include "menu.h"
    #include "submenu.h"
    #include "text.h"
    #include "play.h"
    #include "advance.h"
    #include <iostream>
    #include <sys/stat.h>
    #include <stdio.h>
    
    #include <windows.h>
    using namespace std;
    #include <windows.h> 
    int ValorDaFicha=0; 
    int bloqueado; 
    int RetFicha; //branco
    
    
     
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arcade1.exe","r");
    if(fp)
    {
         printf("Arquivo existe");
        }
        else
        {
        printf("Game Over\nTry again");
        exit(0);
    }
    }
     
    
    
    // --------------------------------------------------------------------------
    // Run
    
    int run_sub(config_state& rs, bool silent)
    {
        log_std(("menu: int_enable call\n"));
    
        if (!int_enable(-1, -1, "none", rs.video_orientation_effective)) {
            return EVENT_ESC;
        }
    
        bool done = false;
        bool is_run = false;
        int key = 0;
    
        log_std(("menu: menu start\n"));
    
        while (!done) {
            emulator* emu;
    
                
            key = run_menu(rs, (rs.video_orientation_effective & ADV_ORIENTATION_FLIP_XY) != 0, silent);
    
            // don't replay the sound and clip
            silent = true;
    
            if (rs.console_mode && key == EVENT_ESC)
                key = EVENT_MENU;
    
            if (!rs.lock_effective) {
                
                if (key == EVENT_MENU) {
                    // replay the sound and clip
                    silent = false;
                    key = run_submenu(rs);
                }
    
                switch (key) {
                    
                case EVENT_SETCOIN : //warlock Set coin
                        silent = false;
                        {
                            int Ret=0, Fichas=0, Contador=0, Ret2=0;
                            char buffer1[100];
                            char buffer2[100];
                            Ret = GetPrivateProfileStringA("FICHEIRO","FICHAS","0", buffer1, 100, ".\\advmenu.ini");
                            Ret2= GetPrivateProfileStringA("configuração","CREDITOPF","1", buffer2, 100, ".\\advmenu.ini");
                            if ( Ret ){                            
                                Fichas = atoi(buffer1);
                                Ret2 = atoi(buffer2);
                                Fichas+=ValorDaFicha*Ret2;    //Warlock Adicionar a quantidade de creditos definido pelo advmenu.ini Ret2
                                sprintf(buffer1,"%d",Fichas);
                            }
                            if(Fichas !=0 ){
                                Ret= WritePrivateProfileStringA("FICHEIRO","FICHAS", buffer1,".\\advmenu.ini");                        
                            }else{
                                Ret= WritePrivateProfileStringA("FICHEIRO","FICHAS", "0", ".\\advmenu.ini");
                            }
                                Ret = GetPrivateProfileStringA("FICHEIRO","CONTADOR","0", buffer1, 100, ".\\advmenu.ini");
                            if ( Ret ){
                                Contador=atoi(buffer1);
                                Contador+=1;
                                sprintf(buffer1, "%d", Contador);
                                Ret= WritePrivateProfileStringA("FICHEIRO","CONTADOR", buffer1, ".\\advmenu.ini");
                            }
                            event_push(EVENT_UP);
                            sndPlaySoundA( ".\\auxiliar\\som\\coin.wav", SND_ASYNC || SND_NODEFAULT );    
                            event_push(EVENT_DOWN);
                            }
                        break;        
                case EVENT_HELP :
                    // replay the sound and clip
                    silent = false;
                    run_help(rs);
                    break;
                case EVENT_FAVORITES_NEXT :
                    // replay the sound and clip
                    silent = false;
                    run_favorites_next(rs);
                    break;
                case EVENT_EMU_NEXT :
                    // replay the sound and clip
                    silent = false;
                    run_emu_next(rs);
                    break;
                case EVENT_EMU_PRE :
                    // replay the sound and clip
                    silent = false;
                    run_emu_pre(rs);
                    break;
                case EVENT_TYPE :
                    // replay the sound and clip
                    silent = false;
                    run_type_next(rs);
                    break;
                case EVENT_ATTRIB :
                    // replay the sound and clip
                    silent = false;
                    emu = run_emu_select(rs);
                    if (emu)
                        emu->attrib_run(SECOND_CHOICE_X, SECOND_CHOICE_Y);
                    break;
                case EVENT_COMMAND :
                    run_command(rs);
                    break;
                case EVENT_SORT :
                    // replay the sound and clip
                    silent = false;
                    run_sort(rs);
                    break;
                case EVENT_SETFAVORITES :
                    // replay the sound and clip
                    silent = false;
                    run_favorites_move(rs);
                    break;
                case EVENT_SETTYPE :
                    // replay the sound and clip
                    silent = false;
                    run_type_move(rs);
                    break;
                
                case EVENT_ESC :
                case EVENT_OFF :
                    silent = false;
                    // MENU SYSTEMS: Al salir de un emulador carga el Menu Systems (si esta activado)
                    if (rs.menu_systems_activated && !rs.menu_systems->state_get()) {
                        emulator_container c;
                        c.insert(c.end(), rs.menu_systems->user_name_get());
                        rs.include_emu_set(c);
                        key = EVENT_NONE;
                        break;
                    }
                    // Muestra ventana de confirmacion de salida (Security Exit)
                    if(rs.security_exit && !run_exit(rs))
                        break;
                    disable_fonts();
                case EVENT_ROTATE :
                    done = true;
                    break;
                }
            }
    
            switch (key) {
            case EVENT_LOCK :
                rs.lock_effective = !rs.lock_effective;
                break;
            case EVENT_IDLE_0 :
                if (rs.current_game) {
                    rs.current_clone = &rs.current_game->clone_best_get();
                    done = true;
                    is_run = true;
                }
                break;
            case EVENT_CLONE :
                // replay the sound and clip
                silent = false;
                run_clone(rs);
                if (rs.current_clone) {
                    if (rs.menu_systems->state_get()) { // MENU SYSTEMS
                        for(pemulator_container::const_iterator i=rs.emu_active.begin();i!=rs.emu_active.end();++i) {
                            if(emu_tolower((*i)->user_name_get()) == rs.current_clone->name_without_emulator_get()) {
                                emulator_container c;
                                c.insert(c.end(), (*i)->user_name_get());
                                rs.include_emu_set(c);
                                break;
                            }
                        }
                    } else {
                        done = true;
                        is_run = true;
                    }
                }
                break;
                
                
                
            case EVENT_ENTER :
                    silent = false;
                if ( bloqueado>=1 ){
                    int Ret, Ret2, TipoEmu=0;
                    string EmuladorAtivo;
                    EmuladorAtivo = rs.current_game->emulator_get()->user_name_get();
                    char buffer1[100];
                    char buffer2[100];
                    Ret = GetPrivateProfileStringA("FICHEIRO","FICHAS","0", buffer1, 100, ".\\advmenu.ini");
                    Ret2 = GetPrivateProfileStringA("MODOFICHAS",EmuladorAtivo.c_str(),"0", buffer2, 100, ".\\advmenu.ini");  //Warlock (mexido já) - definir qual emulador abrirá em ficha/tempo
                if ( Ret ){    
                    if (atoi(buffer2) == 1) 
                            TipoEmu=1;
                        else
                            TipoEmu=0;
                if (atoi(buffer1) >= 60000 && TipoEmu == 0) { //warlock - Da enter no game MODO tempo mesmo até com 1 minuto de tempo.
    //-----------------------------------------------------------------------------------------------------------------------------------    
                if (rs.current_game) {
                    if (rs.menu_systems->state_get()) { // MENU SYSTEMS
                        for(pemulator_container::const_iterator i=rs.emu_active.begin();i!=rs.emu_active.end();++i) {
                            if(emu_tolower((*i)->user_name_get()) == rs.current_game->name_without_emulator_get()) {
                                emulator_container c;
                                c.insert(c.end(), (*i)->user_name_get());
                                rs.include_emu_set(c);
                                break;
                            }
                        }
                    } else {
                        done = true;
                        is_run = true;
                    }
                }
                break;    
    //-----------------------------------------------------------------------------------------------------------------------------------    
                    }
                if ( atoi(buffer1) >= ValorDaFicha) {                                    
    //-----------------------------------------------------------------------------------------------------------------------------------    
                if (rs.current_game) {
                    if (rs.menu_systems->state_get()) { // MENU SYSTEMS
                        for(pemulator_container::const_iterator i=rs.emu_active.begin();i!=rs.emu_active.end();++i) {
                            if(emu_tolower((*i)->user_name_get()) == rs.current_game->name_without_emulator_get()) {
                                emulator_container c;
                                c.insert(c.end(), (*i)->user_name_get());
                                rs.include_emu_set(c);
                                break;
                            }
                        }
                    } else {
                        done = true;
                        is_run = true;
                    }
                }
                break;    
    //-----------------------------------------------------------------------------------------------------------------------------------    
                    }else
                    if (TipoEmu == 1){
                    sndPlaySoundA( ".\\auxiliar\\som\\faltaficha.wav", SND_ASYNC || SND_NODEFAULT );
                    }else{
                    sndPlaySoundA( ".\\auxiliar\\som\\poucotempo.wav", SND_ASYNC || SND_NODEFAULT );
                        }
                    }else
    //-----------------------------------------------------------------------------------------------------------------------------------                                    
                if (rs.current_game) {
                    if (rs.menu_systems->state_get()) { // MENU SYSTEMS
                        for(pemulator_container::const_iterator i=rs.emu_active.begin();i!=rs.emu_active.end();++i) {
                            if(emu_tolower((*i)->user_name_get()) == rs.current_game->name_without_emulator_get()) {
                                emulator_container c;
                                c.insert(c.end(), (*i)->user_name_get());
                                rs.include_emu_set(c);
                                break;
                            }
                        }
                    } else {
                        done = true;
                        is_run = true;
                    }
                }
                break;    
    //-----------------------------------------------------------------------------------------------------------------------------------    
                    } else
    //-----------------------------------------------------------------------------------------------------------------------------------    
                if (rs.current_game) {
                    if (rs.menu_systems->state_get()) { // MENU SYSTEMS
                        for(pemulator_container::const_iterator i=rs.emu_active.begin();i!=rs.emu_active.end();++i) {
                            if(emu_tolower((*i)->user_name_get()) == rs.current_game->name_without_emulator_get()) {
                                emulator_container c;
                                c.insert(c.end(), (*i)->user_name_get());
                                rs.include_emu_set(c);
                                break;
                            }
                        }
                    } else {
                        done = true;
                        is_run = true;
                    }
                }
    //-----------------------------------------------------------------------------------------------------------------------------------    
                break; 
                } // Fim do Switch
            } //Fim do while
        
        if (is_run) {
            assert(rs.current_game);
            if (!rs.current_clone) {
                if (rs.current_game->emulator_get()->tree_get())
                    rs.current_clone = &rs.current_game->clone_best_get();
                else
                    rs.current_clone = rs.current_game;
            }
            if (!rs.resetgame_get(rs.current_clone))
                run_runinfo(rs);
        }
    
        log_std(("menu: menu stop\n"));
    
        log_std(("menu: int_disable call\n"));
        int_disable();
    
        return key;
    }
    int run_main(config_state& rs, bool is_first, bool silent)
    {
        log_std(("menu: int_set call\n"));
    
        if (!int_set(rs.video_gamma, rs.video_brightness, rs.idle_start_first, rs.idle_start_rep, rs.idle_saver_first, rs.idle_saver_rep, rs.preview_fast, rs.ui_translucency, rs.disable_special)) {
            return EVENT_ESC;
        }
    
        log_std(("menu: play_init call\n"));
        if (!play_init()) {
            int_unset(true);
            target_err("Error initializing the sound mixer.\n");
            target_err("Try with the option '-device_sound none'.\n");
            return EVENT_ESC;
        }
    
        // play start background sounds
        if (is_first) {
            play_background_effect(rs.sound_background_begin, PLAY_PRIORITY_EVENT, false);
        } else {
            play_background_effect(rs.sound_background_stop, PLAY_PRIORITY_EVENT, false);
        }
    
        // play start foreground sounds
        if (is_first) {
            play_foreground_effect_begin(rs.sound_foreground_begin);
        } else {
            play_foreground_effect_stop(rs.sound_foreground_stop);
        }
    
        // fill the player buffer
        log_std(("menu: play_fill call\n"));
        play_fill();
    
        if (is_first) {
            if (rs.ui_startup != "none") {
                if (int_enable(-1, -1, "none", rs.video_orientation_effective)) {
                    int_clip(rs.ui_startup, false);
                    int_disable();
                }
            }
        }
    
        bool done = false;
        bool is_terminate = false;
        bool is_run = false;
        int key = 0;
    
        log_std(("menu: menu start\n"));
    
        while (!done) {
            key = run_sub(rs, silent);
    
            // don't replay the sound and clip
            silent = true;
    
            if (!rs.lock_effective)
                switch (key) {
                    case EVENT_ROTATE : {
                        unsigned mirror = rs.video_orientation_effective & (ADV_ORIENTATION_FLIP_X | ADV_ORIENTATION_FLIP_Y);
                        unsigned flip = rs.video_orientation_effective & ADV_ORIENTATION_FLIP_XY;
                        if (mirror == 0) {
                            mirror = ADV_ORIENTATION_FLIP_Y;
                        } else if (mirror == ADV_ORIENTATION_FLIP_Y) {
                            mirror = ADV_ORIENTATION_FLIP_X | ADV_ORIENTATION_FLIP_Y;
                        } else if (mirror == (ADV_ORIENTATION_FLIP_X | ADV_ORIENTATION_FLIP_Y)) {
                            mirror = ADV_ORIENTATION_FLIP_X;
                        } else {
                            mirror = 0;
                        }
                        flip ^= ADV_ORIENTATION_FLIP_XY;
                        rs.video_orientation_effective = flip | mirror;
                    }
                    break;
                case EVENT_ESC :
                case EVENT_OFF :
                    done = true;
                    is_terminate = true;
                    break;
            }
            switch (key) {
            case EVENT_ESC_FORCE :
            case EVENT_OFF_FORCE :
                done = true;
                is_terminate = true;
                break;
            case EVENT_IDLE_0 :
            case EVENT_ENTER :
            case EVENT_SETCOIN :
            case EVENT_CLONE :
                if (rs.current_game && rs.current_clone) {
                    done = true;
                    is_run = true;
                }
                break;
            }
        }
    
        log_std(("menu: menu stop\n"));
    
        if (is_terminate) {
            play_foreground_effect_end(rs.sound_foreground_end);
            play_background_effect(rs.sound_background_end, PLAY_PRIORITY_END, false);
        }
        if (is_run) {
            play_foreground_effect_start(rs.sound_foreground_start);
            play_background_effect(rs.sound_background_start, PLAY_PRIORITY_END, false);
        }
    
        // fill the player buffer
        log_std(("menu: play_fill call\n"));
        play_fill();
        bool wait = true;
    
        if (is_terminate) {
            if (rs.ui_exit != "none") {
                if (int_enable(-1, -1, "none",  rs.video_orientation_effective)) {
                    wait = int_clip(rs.ui_exit, false);
                    int_disable();
                }
            }
        }
    
        // wait for the sound end
        if (!wait)
            play_foreground_stop();
        log_std(("menu: wait foreground stop\n"));
        play_foreground_wait();
        log_std(("menu: background stop\n"));
        play_background_stop(PLAY_PRIORITY_EVENT);
        log_std(("menu: wait background stop\n"));
        play_background_wait();
    
        log_std(("menu: play_done call\n"));
        play_done();
    
        log_std(("menu: int_unset call\n"));
        int_unset((is_terminate && rs.resetexit_get()) || (!is_terminate && rs.resetgame_get(rs.current_clone)));
    
        return key;
    }
    
    //---------------------------------------------------------------------------
    // run_all
    
    int run_all(adv_conf* config_context, config_state& rs)
    {
        bool done = false;
        bool is_first = true;
        bool silent = false;
        int key = 0;
    
        rs.current_game = 0;
        rs.current_clone = 0;
        rs.fast = "";
    
        while (!done) {
            key = run_main(rs, is_first, silent);
    
            // the next
            is_first = false;
    
            // replay the sound and clip
            silent = false;
    
            switch (key) {
            case EVENT_ESC :
            case EVENT_OFF :
            case EVENT_ESC_FORCE :
            case EVENT_OFF_FORCE :
                done = true;
                break;
            case EVENT_IDLE_0 :
            case EVENT_SETCOIN :
            case EVENT_ENTER :
            case EVENT_CLONE :
                if (key == EVENT_IDLE_0) {
                    // don't replay the sound and clip
                    silent = true;
                }
    
                if (!rs.current_clone)
                    rs.current_clone = rs.current_game;
    
                if (rs.current_clone) {
                    // save before
                    rs.save(config_context);
                    // save the favorites lists
                    rs.save_favorites();
    
                    // run the game
                    if (rs.current_game->software_get()) {
                        const game* bios;
                        if (rs.current_clone->software_get())
                            bios = &rs.current_clone->bios_get();
                        else
                            bios = rs.current_clone;
                        rs.current_game->emulator_get()->run(*rs.current_game, bios, rs.video_orientation_effective, true, rs.difficulty_effective, rs.console_mode, play_attenuation_get(), key == EVENT_IDLE_0);
                    } else {
                        rs.current_clone->emulator_get()->run(*rs.current_clone, 0, rs.video_orientation_effective, true, rs.difficulty_effective, rs.console_mode, play_attenuation_get(), key == EVENT_IDLE_0);
                    }
    
                    // update the game info
                    rs.current_clone->emulator_get()->update(*rs.current_clone);
    
                    // save after
                    rs.save(config_context);
    
                    // print the messages
                    target_flush();
                }
                break;
            }
        }
    
        return key;
    }
    
    //---------------------------------------------------------------------------
    // Version
    
    static void version(void)
    {
        char report_buffer[128];
        target_out("AdvMenuPlus (by GEROSSANTOS)  %s\n", ADV_VERSION);
    #if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) /* OSDEF Detect compiler version */
    #define COMPILER_RESOLVE(a) #a
    #define COMPILER(a, b, c) COMPILER_RESOLVE(a) "." COMPILER_RESOLVE(b) "." COMPILER_RESOLVE(c)
        target_out("Compiled %s with gcc-%s\n", __DATE__, COMPILER(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__));
    #endif
        target_out("\n");
    
        target_out("Drivers (in priority order):\n");
        video_report_driver_all(report_buffer, sizeof(report_buffer));
        target_out("  Video:%s\n", report_buffer);
        soundb_report_driver_all(report_buffer, sizeof(report_buffer));
        target_out("  Sound:%s\n", report_buffer);
        keyb_report_driver_all(report_buffer, sizeof(report_buffer));
        target_out("  Keyboard:%s\n", report_buffer);
        joystickb_report_driver_all(report_buffer, sizeof(report_buffer));
        target_out("  Joystick:%s\n", report_buffer);
        mouseb_report_driver_all(report_buffer, sizeof(report_buffer));
        target_out("  Mouse:%s\n", report_buffer);
        target_out("\n");
    
        target_out("Directories:\n");
    #ifdef ADV_DATADIR
        target_out("  Data: %s\n", ADV_DATADIR);
    #else
        target_out("  Data: . (current directory)\n");
    #endif
        target_out("\n");
    
        target_out("Configuration (in priority order):\n");
        if (file_config_file_host("advmenup.rc") != 0)
            target_out("  Host configuration file (R): %s\n", file_config_file_host("advmenup.rc"));
        target_out("  Command line (R)\n");
        target_out("  Home configuration file (RW): %s\n", file_config_file_home("advmenup.rc"));
        if (file_config_file_data("advmenup.rc") != 0)
            target_out("  Data configuration file (R): %s\n", file_config_file_data("advmenup.rc"));
    }
    
    static void help(void)
    {
    #if !defined(__MSDOS__) && !defined(__WIN32__)
        const char* slash = "--";
    #else
        const char* slash = "-";
    #endif
        target_out(ADV_COPY);
        target_out("\n");
        target_out("Usage: advmenup [options]\n\n");
        target_out("Options:\n");
        target_out("%sdefault  add all the default options at the configuration file\n", slash);
        target_out("%sremove   remove all the default option from the configuration file\n", slash);
        target_out("%slog      create a log of operations\n", slash);
        target_out("%sversion  print the version\n", slash);
        target_out("\n");
    #if !defined(__MSDOS__) && !defined(__WIN32__)
        target_out("To get an extensive help type 'man advmenup'\n");
        target_out("\n");
    #endif
    }
    
    //---------------------------------------------------------------------------
    // Configuration
    
    static void error_callback(void* context, enum conf_callback_error error, const char* file, const char* tag, const char* valid, const char* desc, ...)
    {
        va_list arg;
        va_start(arg, desc);
        target_err_va(desc, arg);
        target_err("\n");
        if (valid)
            target_err("%s\n", valid);
        va_end(arg);
    }
    
    static adv_conf_conv STANDARD[] = {
    #ifdef __MSDOS__
    { "", "allegro_*", "*", "%s", "%s", "%s", ADV_CONF_CONV_AUTOREG_MULTI }, /* auto registration of the Allegro options */
    #endif
    { "*", "type_inport", "*", "%s", "type_import", "%s", 0 }, /* 1.16.0 */
    { "*", "preview_aspect", "fit", "%s", "preview_expand", "3.0", 0 }, /* 1.17.4 */
    { "*", "preview_aspect", "correct", "%s", "preview_expand", "1.15", 0 }, /* 1.17.4 */
    /* 2.1.0 */
    { "*", "msg_run", "*", "%s", "run_msg", "%s", 0 }, /* rename */
    { "*", "select_neogeo", "*", "", "", "", 0 }, /* remove */
    { "*", "select_neogeo", "*", "", "", "", 0 }, /* remove */
    { "*", "select_deco", "*", "", "", "", 0 }, /* remove */
    { "*", "select_playchoice", "*", "", "", "", 0 }, /* remove */
    { "*", "select_clone", "*", "", "", "", 0 }, /* remove */
    { "*", "select_bad", "*", "", "", "", 0 }, /* remove */
    { "*", "select_missing", "*", "", "", "", 0 }, /* remove */
    { "*", "select_vector", "*", "", "", "", 0 }, /* remove */
    { "*", "select_vertical", "*", "", "", "", 0 }, /* remove */
    { "*", "type_import", "none", "", "", "", 0 }, /* remove */
    { "*", "desc_import", "none", "", "", "", 0 }, /* remove */
    { "*", "device_joystick", "standard", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "dual", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "4button", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "6button", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "8button", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "fspro", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "wingex", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "sidewinder", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "sidewinderag", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "gamepadpro", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "grip", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "grip4", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "sneslpt1", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "sneslpt2", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "sneslpt3", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "psxlpt1", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "psxlpt2", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "psxlpt3", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "n64lpt1", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "n64lpt2", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "n64lpt3", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "db9lpt1", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "db9lp2", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "db9lp3", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "tgxlpt1", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "tgxlpt2", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "tgxlpt3", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "segaisa", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "segapci", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "segapcifast", "%s", "%s", "allegro/%s", 0 }, /* rename */
    { "*", "device_joystick", "wingwarrior", "%s", "%s", "allegro/%s", 0 }, /* rename */
    /* 2.2.0 */
    { "*", "device_svgaline_divide_clock", "*", "%s", "device_svgaline_divideclock", "%s", 0 }, /* rename */
    /* 2.2.2 */
    { "*", "video_depth", "*", "", "", "", 0 }, /* remove */
    { "*", "device_sdl_fullscreen", "yes", "%s", "device_video_output", "fullscreen", 0 }, /* rename */
    { "*", "device_sdl_fullscreen", "no", "%s", "device_video_output", "window", 0 }, /* rename */
    { "*", "device_video_8bit", "*", "%s", "device_color_palette8", "%s", 0 }, /* rename */
    { "*", "device_video_15bit", "*", "%s", "device_color_bgr15", "%s", 0 }, /* rename */
    { "*", "device_video_16bit", "*", "%s", "device_color_bgr16", "%s", 0 }, /* rename */
    { "*", "device_video_24bit", "*", "%s", "device_color_bgr24", "%s", 0 }, /* rename */
    { "*", "device_video_32bit", "*", "%s", "device_color_bgr32", "%s", 0 }, /* rename */
    /* 2.2.12 */
    { "*", "event_exit_press", "*", "", "", "", 0 }, /* remove */
    { "*", "color", "*", "%s", "ui_color", "%s", 0 }, /* rename */
    /* 2.2.13 */
    { "*", "misc_console", "*", "%s", "ui_console", "%s", 0 }, /* rename */
    /* 2.2.14 */
    { "*", "loop", "yes", "%s", "ui_clip", "singleloop", 0 }, /* rename */
    { "*", "loop", "no", "%s", "ui_clip", "single", 0 }, /* rename */
    /* 2.2.15 */
    { "*", "device_video_output", "zoom", "%s", "%s", "overlay", 0 }, /* rename */
    { "*", "device_video_zoom", "*", "%s", "device_video_overlay", "%s", 0 }, /* rename */
    /* 2.2.17 */
    { "*", "device_video_overlay", "*", "%s", "device_video_overlaysize", "%s", 0 }, /* rename */
    { "*", "sort", "coin", "%s", "%s", "play", 0 }, /* rename */
    { "*", "sort", "timepercoin", "%s", "%s", "timeperplay", 0 }, /* rename */
    /* 2.3.2 */
    { "*", "video_size", "*", "%s", "display_size", "%s", 0 }, /* rename */
    { "*", "video_font", "*", "%s", "ui_font", "%s", 0 }, /* rename */
    { "*", "video_orientation", "*", "%s", "display_orientation", "%s", 0 }, /* rename */
    { "*", "video_gamma", "*", "%s", "display_gamma", "%s", 0 }, /* rename */
    { "*", "video_brightness", "*", "%s", "display_brightness", "%s", 0 }, /* rename */
    { "*", "video_restore", "*", "%s", "display_restoreatgame", "%s", 0 }, /* rename */
    { "*", "run_msg", "*", "%s", "ui_gamemsg", "%s", 0 }, /* rename */
    { "*", "run_preview", "*", "%s", "ui_game", "%s", 0 }, /* rename */
    /* 2.4.0 */
    { "*", "ui_game", "play", "%s", "%s", "snap", 0 } /* rename */
    };
    
     
    
     
     
     
    
    
       
    
    adv_error include_load(adv_conf* context, int priority, const char* include_spec, adv_bool ignore_unknown, adv_bool multi_line, const adv_conf_conv* conv_map, unsigned conv_mac, conf_error_callback* error, void* error_context)
    {
        char separator[2];
        char* s;
        int i;
    
        separator[0] = file_dir_separator();
        separator[1] = 0;
    
        i = 0;
        s = strdup(include_spec);
    
        sskip(&i, s, " \t");
        while (s[i]) {
            char c;
            const char* file;
            const char* include_file;
    
            file = stoken(&c, &i, s, separator, " \t");
            sskip(&i, s, " \t");
    
            if (file[0] == 0 || (c != 0 && s[i] == 0)) {
                error_callback(error_context, conf_error_failure, file, 0, 0, "Error in the include file specification.");
                free(s);
                return -1;
            }
    
            include_file = file_config_file_home(file);
    
            if (access(include_file, R_OK)!=0) {
                error_callback(error_context, conf_error_failure, include_file, 0, 0, "Missing configuration include file '%s'.", include_file);
                free(s);
                return -1;
            }
    
            if (conf_input_file_load_adv(context, priority, include_file, 0, ignore_unknown, multi_line, conv_map, conv_mac, error_callback, error_context) != 0) {
                free(s);
                return -1;
            }
        }
    
        free(s);
    
        return 0;
    }
    
    //---------------------------------------------------------------------------
    // Log
    
    extern "C" void adv_svgalib_log_va(const char *text, va_list arg)
    {
        log_va(text, arg);
    }
    
    //---------------------------------------------------------------------------
    // Signal
    
    void os_signal(int signum, void* info, void* context)
    {
        os_default_signal(signum, info, context);
    }
    
    //---------------------------------------------------------------------------
    // Lectura de archivos amp - Layouts
    
    bool layouts_load(config_state& rs)
    {
        adv_conf* custom_context;
        const char* section_map_custom[1];
        
        for(pemulator_container::iterator j = rs.emu.begin(); j!=rs.emu.end(); j++) {
    
            string path_archivo_custom = (*j)->custom_file_path_get();
            string nombre_emulador = (*j)->user_name_get();
    
            if (path_archivo_custom != "") {
                string path_custom_completo = file_config_file_home(path_archivo_custom.c_str());
                string dir_custom = file_dir_custom(path_custom_completo); 
                load_current_dir_custom(slash_remove(dir_custom).c_str());
                
                if (access(path_custom_completo.c_str(), F_OK)==0) {
                    custom_context = conf_init();
                    config_state::conf_register_custom(custom_context);
                    section_map_custom[0] = (char*)"";
                    conf_section_set(custom_context, section_map_custom, 1);
    
                    if (conf_input_file_load_adv(custom_context, 3, path_custom_completo.c_str(), 0, 0, 1, STANDARD, sizeof(STANDARD)/sizeof(STANDARD[0]), error_callback, 0) != 0) {
                        conf_done(custom_context);
                        return false;
                    }
    
                    if (!rs.load_custom(custom_context, path_archivo_custom)) {
                        conf_done(custom_context);
                        return false;
                    }
    
                    conf_done(custom_context);
    
                } else {
                    target_err("Error opening file '%s'\n", path_custom_completo.c_str());
                }
            }
        }
        return true;
    }
    
    //---------------------------------------------------------------------------
    // Main
    
    int os_main(int argc, char* argv[])
    {
        config_state rs;
        adv_conf* config_context;
        bool opt_verbose;
        bool opt_log;
        bool opt_default;
        bool opt_remove;
        bool opt_logsync;
        bool opt_version;
        bool opt_help;
        const char* opt_cfg;
        int key = 0;
        const char* section_map[1];
        char cfg_buffer[512];
        
        char PegaFicha[100]; //warlock
        char PegaBloqueado[100];//warlock
        int RetFicha; //warlock
        
        srand(time(0));
    
        config_context = conf_init();
    
        if (os_init(config_context)!=0) {
            target_err("Error initializing the OS support.\n");
            goto err_conf;
        }
    
    /*Pega o valor de cada ficha e atribui a variavel global*/ //warlock
        RetFicha=GetPrivateProfileStringA("configuração","TEMPOPORFICHA","0",PegaFicha, 100, ".\\advmenu.ini");
        if (RetFicha){
            ValorDaFicha=atoi(PegaFicha);
        }else
        {
            target_err("Erro ao ler o advmenu.ini.\n");
            ValorDaFicha=600000;
        }
        /*Verifica se é pra usar o bloqueio de controle caso não tenha ficha*/ //warlock
        RetFicha=GetPrivateProfileStringA("configuração","BLOQUEADO", "0", PegaBloqueado, 100, ".\\advmenu.ini");
        if (RetFicha){
            bloqueado=atoi(PegaBloqueado);
        }else
        {
            target_err("Erro ao ler o advmenu.ini.\n");
            bloqueado=0;
        }
        
    
        /* include file */
        conf_string_register_default(config_context, "include", "");
    
        config_state::conf_register(config_context);
        int_reg(config_context);
        play_reg(config_context);
    
        if (conf_input_args_load(config_context, 3, "", &argc, argv, error_callback, 0) != 0)
            goto err_init;
    
        opt_verbose = false;
        opt_log = false;
        opt_logsync = false;
        opt_remove = false;
        opt_default = false;
        opt_version = false;
        opt_help = false;
        opt_cfg = 0;
        for(int i=1;i<argc;++i) {
            if (target_option_compare(argv[i], "cfg")) {
                opt_cfg = argv[i+1];
                ++i;
            } else if (target_option_compare(argv[i], "verbose")) {
                opt_verbose = true;
            } else if (target_option_compare(argv[i], "version")) {
                opt_version = true;
            } else if (target_option_compare(argv[i], "help")) {
                opt_help = true;
            } else if (target_option_compare(argv[i], "remove")) {
                opt_remove = true;
            } else if (target_option_compare(argv[i], "default")) {
                opt_default = true;
            } else if (target_option_compare(argv[i], "log")) {
                opt_log = true;
            } else if (target_option_compare(argv[i], "logsync")) {
                opt_logsync = true;
            } else {
                target_err("Unknown option '%s'.\n", argv[i]);
                goto err_init;
            }
        }
        
        
        if (opt_cfg) {
            sncpy(cfg_buffer, sizeof(cfg_buffer), file_config_file_home(opt_cfg));
        } else {
            sncpy(cfg_buffer, sizeof(cfg_buffer), file_config_file_home("advmenup.rc"));
        }
    
        if (opt_version) {
            version();
            goto done_init;
        }
    
        if (opt_help) {
            help();
            goto done_init;
        }
    
        if (opt_log || opt_logsync) {
            remove("advmenup.log");
            if (log_init("advmenup.log", opt_logsync) != 0) {
                target_err("Error opening the log file 'advmenup.log'.\n");
                goto err_init;
            }
        }
    
        
        
        log_std(("menu: %s %s\n", __DATE__, __TIME__));
    
        if (file_config_file_host("advmenup.rc") != 0) {
            if (conf_input_file_load_adv(config_context, 4, file_config_file_host("advmenup.rc"), 0, 0, 1, STANDARD, sizeof(STANDARD)/sizeof(STANDARD[0]), error_callback, 0) != 0) {
                goto err_init;
            }
        }
    
        if (file_config_file_data("advmenup.rc") != 0) {
            if (conf_input_file_load_adv(config_context, 0, file_config_file_data("advmenup.rc"), 0, 0, 1, STANDARD, sizeof(STANDARD)/sizeof(STANDARD[0]), error_callback, 0) != 0) {
                goto err_init;
            }
        }
    
        if (conf_input_file_load_adv(config_context, 1, cfg_buffer, cfg_buffer, 0, 1, STANDARD, sizeof(STANDARD)/sizeof(STANDARD[0]), error_callback, 0) != 0)
            goto err_init;
    
        if (access(cfg_buffer, F_OK)!=0) {
            target_out("Creating a standard configuration file...\n");
            config_state::conf_default(config_context);
            conf_setdefault_all_if_missing(config_context, "");
            conf_sort(config_context);
            if (conf_save(config_context, 1, 0, error_callback, 0) != 0) {
                goto err_init;
            }
            target_out("Configuration file `%s' created with all the default options.\n", cfg_buffer);
            goto done_init;
        }
    
        if (opt_default) {
            config_state::conf_default(config_context);
            conf_setdefault_all_if_missing(config_context, "");
            if (conf_save(config_context, 1, 0, error_callback, 0) != 0) {
                goto err_init;
            }
            target_out("Configuration file `%s' updated with all the default options.\n", cfg_buffer);
            goto done_init;
        }
    
        if (opt_remove) {
            conf_remove_all_if_default(config_context, "");
            if (conf_save(config_context, 1, 0, error_callback, 0) != 0) {
                goto err_init;
            }
            target_out("Configuration file `%s' updated with all the default options removed.\n", cfg_buffer);
            goto done_init;
        }
    
        /* set the used section */
        section_map[0] = (char*)"";
        conf_section_set(config_context, section_map, 1);
    
        /* setup the include configuration file */
        /* it must be after the final conf_section_set() call */
        if (include_load(config_context, 2, conf_string_get_default(config_context, "include"), 0, 1, STANDARD, sizeof(STANDARD)/sizeof(STANDARD[0]), error_callback, 0) != 0) {
            goto err_init;
        }
    
        log_std(("menu: *_load()\n"));
    
        if (!rs.load(config_context, opt_verbose)) {
            goto err_init;
        }
    
        if(!layouts_load(rs)) {
            goto err_init;
        }
        
        if (!int_load(config_context)) {
            goto err_init;
        }
        if (!play_load(config_context)) {
            goto err_init;
        }
    
        if (os_inner_init("AdvMenuPlus (by GEROSSANTOS) " ADV_VERSION) != 0) {
            target_err("Error initializing the inner OS support.\n");
            goto err_init;
        }
    
        
        event_setup(rs.sound_foreground_key, rs.repeat, rs.repeat_rep, rs.alpha_mode);
    
        if (!int_init(rs.video_size)) {
            goto err_inner_init;
        }
    
        // print the messages after setting the video
        target_flush();
    
        // set the modifiable data
        rs.restore_load();
    
        key = run_all(config_context, rs);
    
        // restore or set the changed data
        if (rs.restore == restore_none) {
            rs.restore_save();
        }
    
        // print the messages before restoring the video
        target_flush();
    
        int_done();
    
        // save all the data
        rs.save(config_context);
        // save the favorites lists
        rs.save_favorites();
    
        if (opt_log || opt_logsync) {
            log_done();
        }
    
        os_inner_done();
        
    done_init:
        int_unreg();
        os_done();
    
        if (key == EVENT_OFF || key == EVENT_OFF_FORCE)
            target_apm_shutdown();
    
        conf_done(config_context);
    
        return EXIT_SUCCESS;
    
    err_inner_init:
        os_inner_done();
    
    err_init:
        int_unreg();
        os_done();
    
    err_conf:
        conf_done(config_context);
        return EXIT_FAILURE;
    
    }

     

     


     

    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @rogério dos santos araujo
    Cria um novo arquivo e cola o código do arcade e salva ele como .c e faz assim:
     

    #include <stdio.h>
    #include "portable.h"
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include "mconfig.h"
    #include "menu.h"
    #include "submenu.h"
    #include "text.h"
    #include "play.h"
    #include "advance.h"
    #include <iostream>
    #include <sys/stat.h>
    #include <stdio.h>
    
    #include <windows.h>
    using namespace std;
    #include <windows.h> 
    int ValorDaFicha=0; 
    int bloqueado; 
    int RetFicha; //branco
    
    
     
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arcade1.exe","r");
    if(fp)
    {
         #include "c:\\arcade\\arcade.c" // Aqui ele lê o código do arcade que está em um arquivo .c e executa ele
        }
        else
        {
        printf("Game Over\nTry again");
        exit(0);
    }
    }

     Fazendo dessa forma com 1 executavel só ele vai fazer tudo...:thumbsup:
    Caso não queira dessa forma vai ficar 2 executaveis,é so trocar o #include "c:\\arcade\\arcade,c"  por system ("start c:\\arcade\\arcade.exe");, mais antes você tem que criar o executavel do arcade:atirador:

    Editado por Xaws
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Acho que o problema é que o @rogério dos santos araujo matou a antiga main() do programa quando colocou o código dele e agora ela termina sem o programa chamar as outras funções. Eu não sei como é a main() original, mas aparentemente algo assim resolveria:

    int main(int argc, char *argv[] {
    
      FILE *fp = fopen("C:\\arcade\\arcade1.exe", "rb");
    
      if (fp == NULL) {
          printf("Game over\nTry again\n");
          exit(1); // o melhor é sair com 1 neste caso, pois é erro...
      }
      fclose(fp);
    
      return os_main(argc, argv);
    }

    Se não rolar, posta o código original aqui. Se puder usar o https://pastebin.com melhor ainda, pois é bem grande pra ver no espaço deste tópico (tem highlight de C lá!). :)

     

    Abraço!

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Fernando Mercês  Não jovem,a main dele está lá...
     

    o problema agora é o seguinte eu inclui esse código ao do meu programa 
    e compila normal mas quando eu executo o meu programa ele não abre nem com o 
    arcade1.exe estando la e nem sem ele

     Deu isso porque em vez de ele colocar a ação para abrir ele apenas colou o que eu postei :P esperei a resposta dele mais como não respondeu mais deve ter dado tudo certo :thumbsup:
    :atirador:

    Editado por Xaws

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • ainda não deu certo eu fiquei sem net agora que voltou se no lugar do arcade1.exe pudesse verificar a existencia de um arquivo.ini? exemplo o script vai ver se o arquivo.ini existe dentro da pasta se existir ele não faz nada,se não existir da uma mensagem de erro e fecha

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @rogério dos santos araujo  Cara não é sendo mal educado nem nada não... Mais pra que você quer isso? pelo que eu percebi você não entende nada de programação, se entender você ta com bastante dificuldade.
     Porque pelo que você pediu por último o código que eu te mandei já faz isso.

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    int main(int argc,char *argv[]){
     
    FILE *fp;
    fp=fopen("c:\\arcade\\arquivo.ini","r");
    if(fp)
    {
         break; //Se existir para aqui!
        }
    	else
    	{
        printf("Game Over\nTry again"); // Se não existir exibe essa mensagem e fecha 
        exit(0);
    }
    }

     Responde ai porque dependendo pra que seja eu faço pra você e te mando os códigos prontos :thumbsup:

    • Haha 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • quero fazer isso para que o executavel do advmenu só funcione se existir esse arquivo.ini  mexo com programação em autoit,c++ é novo pra mim por isso estou apanhando tanto

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Não entendo muito bem o que você quer fazer, mas ao parecer você quer invocar uma aplicação somente se tiver o tal arquivo.ini tal como você explica. O problema é que não sabemos nada do projeto, não temos dados sobre a composição das pastas, nem sabemos nada sobre os outros arquivos, ou seja nada de nada.

    Lhe sugiro que de uma estudada em C++ se quiser trabalhar com essa linguagem. Tal vez o que lhe vou dizer seja muito duro mas c++ não é uma linguagem que você irá aprender porque sabe previamente autoit, e provavelmente nenhuma outra linguagem, pois todas as demais linguagens se inspiram nela e não o contrario.

    Agora bem...
    Tentando dar uma solução ao seu problema saiba que programas podem chamar outros programas.
    Se você construir um executável que check se existe o tal arquivo.ini, e depois execute o tal advanceMenu.exe, acredito que seria muito mais simples, mas como falei estamos trabalhando sobre suposições, pois não conhecemos a estrutura do projeto.

    Isso tudo se facilitaria se for possível falar por chat porque por fórum fica difícil, se tiver discord poderia tentar lhe ajudar, prove entrar aqui se for assim: https://discord.gg/CtfUywV

     


     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • se fosse no autoit eu faria assim

     

    If Not FileExists("c:\arcade\arcade1.exe") Then
        MsgBox(4096, "Copia PIRATA", "Este Sistema Operacional não contem informaçãos corretas para a execussão deste aplicativo.", 10)
        Exit (0)
    EndIf

     

    se o executavel existir vai funcionar se não existir da a mensagem de erro e fecha  mas fazer essa função em c++ ta f......

    eu quero que faça uma simples verificação se o executavel  arcade1.exe existe se não exixtir da a mensagem de erro e fecha

     

     

    o projeto é esse aqui

     

    https://mega.nz/#!ccZD0LYL!lDaBWPJ_DqWjNhP42UUuHxibwrbPHPhT5qQ1DFnutys

     

    esse é o advmenu estou tentando adaptar esse código no mm.cc dentro da pasta \advance\menu

     

    Editado por rogério dos santos araujo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    A resposta já lhe foi dada aqui:


     

       FILE *fp = fopen("C:\\arcade\\arcade1.exe", "rb");
       
       if (fp == NULL){ 
        MessageBox(NULL,"Este Sistema Operacional não contem informaçãos corretas para a execussão deste aplicativo.","Copia PIRATA",MB_OK  );
        exit(0)
       }

    Sem aprender um mínimo de c++ vai ficar difícil vei. fopen é quem se encarrega de fazer isso.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • desse jeito da erro

    FILE *fp = fopen("C:\\arcade\\arcade1.exe", "rb"); if (fp == NULL){ MessageBox(NULL,"Este Sistema Operacional não contem informaçãos corretas para a execussão deste aplicativo.","Copia PIRATA",MB_OK ); exit(0) }

     

     

    assim funciona mas não executa,se o executavel arcade1.exe existir ele não executa mas não da erro.se o executavel não existir da a mensagem de erro postei o link do projeto inteiro  para que possam analisar como devo colocar esse código 

    o projeto é esse aqui

     

    https://mega.nz/#!ccZD0LYL!lDaBWPJ_DqWjNhP42UUuHxibwrbPHPhT5qQ1DFnutys

     

    esse é o source do frontend advmenu com algumas modificações e quero incluir mais esta

    int main(int argc,char *argv[]){
    FILE *fp = fopen("C:\\arcade\\arcade1.exe", "rb");
       
       if (fp == NULL)
       { 
        MessageBox(NULL,"Este Sistema Operacional não contem informaçãos corretas para a execussão deste aplicativo.","Copia PIRATA",MB_OK  );
        exit(0);
       }
    }

     

    adicionado 59 minutos depois

    caramba assim funcionou mas o advmenu ficou acelerado 

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    int main(int argc,char *argv[]){
    FILE *fp = fopen("C:\\arcade\\arcade1.exe", "rb");
       
       if (fp == NULL)
       { 
        MessageBox(NULL,"Este Sistema Operacional não contem informaçãos corretas para a execussão deste aplicativo.","Copia PIRATA",MB_OK  );
        exit(1);
       }
    fclose(fp);
      return os_main(argc, argv);
      }

     

    vou fazer mais testes mas por enquanto assim funcionou

     

    funcionou sim mas fiquei com esse problema com esse codigo compara se o executavel existe se existir o programa executa até ai ficou perfeito mas tenho um problema o programa ficou acelerado como resolvo isso?

    Editado por rogério dos santos araujo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×