Fonction Beep en C

Maknash Messages postés 646 Date d'inscription   Statut Membre Dernière intervention   -  
Naheulf Messages postés 287 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Tout d'abord, je dois devenir fou car je croyais avoir déjà posté ce sujet sur CCM mais je n'arrive pas à remettre la main dessus, j'imagine donc que j'ai rêvé et que je n'ai jamais posté ça ici, donc s'il existe déjà ce topic créé par mois il y a quelques mois, alors veuillez m'excuser.

Mon problème est qu'en fait j'aimerais bien faire un petit truc avec les bips en langage C (avec la fonction Beep).
Je sais comment utiliser cette fonction seulement je n'arrive pas à faire biper mon PC et ce, même avec des \a dans les printf...
J'ai essayé de suivre les 2 liens suivants sur CCM : Désactiver les bips du système et aussi Désactiver le bip du haut-parleur interne (Win 2000/XP/Vista).
J'ai donc fais ceci :
Démarrer / Exécuter / "regedit"
J'ai été dans HKEY_CURRENT_USER\Control Panel\Sound
Ensuite, j'ai créé une nouvelle valeur chaîne nommée Beep avec comme valeur yes

Et ça ne marche pas, j'ai donc fait le deuxième tuto à l'envers aussi :
Fenêtre DOS :
net start beep
Qui me génère cette erreur :
"L'erreur système 1058 s'est produite.

Le service ne peut pas être démarré parce qu'il est désactivé ou qu'aucun périphérique activé ne lui est associé."
Et ensuite je fais la deuxième commande :
sc config beep start= enabled
Et ça me génère cette erreur :
invalid start= field
Modifies a service entry in the registry and Service Database.
SYNTAX:
sc <server> config [service name] <option1> <option2>...
CONFIG OPTIONS:
NOTE: The option name includes the equal sign.
 type= <own|share|interact|kernel|filesys|rec|adapt>
 start= <boot|system|auto|demand|disabled>
 error= <normal|severe|critical|ignore>
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
 DisplayName= <display name>
 password= <password>


Pouvez-vous me dire ce qui coince SVP? Surtout qu'à l'époque ça fonctionnait...
Je vous remercie d'avance

PS : Je précise que je suis sur mon portable
A voir également:

3 réponses

scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Tu as essayé ceci:
#include <stdio.h> 
 
int main(void) 
{ 
    beep(440,1000); 
     
    printf("\nAppuyez sur une touche..." ); 
    getch(); 
     
    return 0; 
}


Normalement sous windows avec dev-cpp ça fonctionne, par contre sous linux avec gcc ça ne marche pas, beep() n'étant apparemment pas un standard ou quelque chose comme ça.
1
Maknash Messages postés 646 Date d'inscription   Statut Membre Dernière intervention   184
 
Merci de ta réponse mais Code::Blocks me dit qu'il y a une erreur avec le beep et une erreur avec le getch.

En effet, il faut insérer windows.h et myconio.h et mettre une majuscule au b de beep donc Beep.

J'ai refais ton code mais ça ne fonctionne pas vu que les bips ne fonctionnent plus sur ma machine :

#include <stdio.h>
#include <windows.h>
#include <myconio.h>

int main(void)
{
    Beep(440,1000);

    printf("\nAppuyez sur une touche..." );
    getch();

    return 0;
}
0
Naheulf Messages postés 287 Date d'inscription   Statut Membre Dernière intervention   114
 
Tu met juste

#include <stdio.h>
#include <windows.h>

int main(void)
{
    Beep(440,1000);

    return 0;
}

et ça marche.. (du moins sur mon ordinateur...)
1
Maknash Messages postés 646 Date d'inscription   Statut Membre Dernière intervention   184
 
A mon avis ça n'a strictement rien à voir, mais j'utilise une carte son Realtek il y a donc un programme qui configure ma carte son (dans le panneau de configuration).
Je ne pense pas qu'il y ai de rapport avec ce programme mais bon, je le précise quand même
0