Bonjour,
Vous devez certainement connaître le logiciel de Windows, Windows Defender, logiciel contre les logiciels malveillants.
Faites ceci avec PureBasic :
Ouvrez un écran graphique fenêtré avec OpenWindodedScreen(...).
Pour faire quelque chose dedans, mettez, par exemple, ClearScreen(RGB(128,128,128)).
Donc l'écran sera gris.
Maintenant, laissez ouvert votre programme et en multitâche appelez le fameux logiciel Windows Defender et exécutez-le en cliquant sur "Confirmer". Ce programme stoppera votre programme, vérifiera le code et redonnera la main à votre programme.
Je tiens à préciser que c'est au moment où votre programme sera dans l'écran graphique qu'il faudra appeler Windows Defender.
Vous verez l'écran graphique supprimé et l'écran sera donc blanc.
S'il y avait des sprites, par exemple, et des fonctions pour le gérer, le programme se plantera.
Maintenant ouvrez un programme de jeu avec un graphique fenêtré, que vous avez certainement.
Pas de problème, votre programme continuera comme si de rien n'était, alors qu'en PureBasic l'écran sera fermé.
Certains dirons que peut-être en est-il ainsi des autres programmes et les programmeurs ont réouvert l'écran graphique et rechargé les sprites.
C'est peut-être vrai mais le fait de fermer, rouvrir et recharger les sprites créera inévitablement un scintillement du graphique, que l'on ne vois pas dans les programmes de jeu.
Alors que penser de PureBasic à ce sujet et qu'en pensez-vous ?
PureBasic et Windows Defender
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows Defender
Extrait de code dont j'ai crée un éxécutable et qui ne rencontre pas de problème avec Window Defender.
Code : Tout sélectionner
InitSprite()
If OpenWindow(0, 0, 0, 220, 160, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(0), 0, 0, 220, 160, 0, 0, 0)
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
End
EndIf
EndIf
direction = 2
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
FlipBuffers()
ClearScreen(RGB(128, 128, 128))
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows Defender
Un autre exemple de code avec un sprite solitaire qui ne pose pas de souci avec Defender.
Code : Tout sélectionner
If InitSprite() = 0
MessageRequester("Erreur", "Impossible d'ouvrir l'écran & l'environnement nécessaire aux sprites !", 0)
End
EndIf
If OpenWindow(0, 0, 0, 220, 220, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(0), 0, 0, 220, 220, 0, 0, 0)
CreateSprite(0, 20, 20)
If StartDrawing(SpriteOutput(0))
Box(0, 0, 20, 20, RGB(255, 0, 155))
Box(5, 5, 10, 10, RGB(155, 0, 255))
StopDrawing()
EndIf
Else
MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
End
EndIf
EndIf
Pas = 3
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
FlipBuffers()
ClearScreen(RGB(128, 128, 128))
DisplaySprite(0, x, x)
x + Pas
If x > 200 : Pas = -2 : EndIf
If x < 0 : Pas = 2 : EndIf
Delay(1)
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: PureBasic et Windows Defender
Merci falsam pour la réponse et les 2 codes.
Je vais voir ça en détail car je ne suis pas chez moi.
Je vais voir ça en détail car je ne suis pas chez moi.
Re: PureBasic et Windows Defender
A falsam :
Le programme que tu donnes es celui de l'exemple de PureBasic au sujet de la fonction OpenWindowdedScreen(...).
Excellent exemple de surcroit.
Tu n'as pas bien utilisé Windows Defender pour constater ce que j'ai dit plus haut.
Fais ceci :
1) Lance le programme d'exemple de PureBasic ci-dessus et ouvre Windows Defender en multitâche.
2) Dans Outils sélectionne le lien Explorateur de logiciels.
3) Dans Catégorie sélectionne Programmes en cours d'exécution.
4) Clique sur le bouton Afficher pour tous les utilisateurs.
Une boîte de dialogue s'ouvre :
5) Clique sur le bouton Continuer.
Et tu constateras, si ton programme est ouvert en même temps que Windows Defender, que l'écran devient blanc, signe que l'écran graphique est supprimé, et comme il n'y a pas de sprites, le programme ne se plante pas, mais le fait d'ajouter des sprites plantera le programme.
Le programme que tu donnes es celui de l'exemple de PureBasic au sujet de la fonction OpenWindowdedScreen(...).
Excellent exemple de surcroit.
Tu n'as pas bien utilisé Windows Defender pour constater ce que j'ai dit plus haut.
Fais ceci :
1) Lance le programme d'exemple de PureBasic ci-dessus et ouvre Windows Defender en multitâche.
2) Dans Outils sélectionne le lien Explorateur de logiciels.
3) Dans Catégorie sélectionne Programmes en cours d'exécution.
4) Clique sur le bouton Afficher pour tous les utilisateurs.
Une boîte de dialogue s'ouvre :
5) Clique sur le bouton Continuer.
Et tu constateras, si ton programme est ouvert en même temps que Windows Defender, que l'écran devient blanc, signe que l'écran graphique est supprimé, et comme il n'y a pas de sprites, le programme ne se plante pas, mais le fait d'ajouter des sprites plantera le programme.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows Defender
Window Defender tourne en tache de fond (Option protection temps réel) . J'ai la version 6.1.7600 de Window Defender et je n'ai pas le lien Explorateur de logiciels.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: PureBasic et Windows Defender
Merci falsam pour ta réactivité et tes réponses respectives.
Je suis sous Windows Vista SP2.
Je ne connais pas Windows Defender sous Seven donc je ne peux rien dire mais si Windows a corrigé quelque chose et bien c'est déjà ça de fait.
Peut-être que d'autres personnes constateront ce que je dis plus haut.
Je suis sous Windows Vista SP2.
Je ne connais pas Windows Defender sous Seven donc je ne peux rien dire mais si Windows a corrigé quelque chose et bien c'est déjà ça de fait.
Peut-être que d'autres personnes constateront ce que je dis plus haut.