incomprehension avec les threads
Re: incomprehension avec les threads
Moi ça me fait la même chose avec mon programme de génération de code Data, même erreur
ça dois venir des libs a tous les coup !
Je ne peut pas activer la gestion des thread !
ça dois venir des libs a tous les coup !
Je ne peut pas activer la gestion des thread !
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: incomprehension avec les threads
@Golfy :
Je ne peux pas compiler ton programme
Je ne peux pas compiler ton programme
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Re: incomprehension avec les threads
En mode Thread, moi non-plus...Le Soldat Inconnu a écrit :@Golfy :
Je ne peux pas compiler ton programme

http://golfy.free.fr/Velbus/Velbus.zip
Je tombe sur une erreur POLINK '_PB_StringBasePosition' mais je ne sais pas où trouver l'origine



Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/
Re: incomprehension avec les threads
J'ai trouvé la LIB qui me gêne : DroopyLib avec les fonctions sur les processus (SearchProcess et KillProcess)Golfy a écrit :En mode Thread, moi non-plus...Le Soldat Inconnu a écrit :@Golfy :
Je ne peux pas compiler ton programme![]()
http://golfy.free.fr/Velbus/Velbus.zip
Je tombe sur une erreur POLINK '_PB_StringBasePosition' mais je ne sais pas où trouver l'origine![]()
![]()
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/
Re: incomprehension avec les threads
J'ai trouvé la LIB qui me gêne : DroopyLib avec les fonctions sur les processus (SearchProcess et KillProcess)Golfy a écrit :En mode Thread, moi non-plus...Le Soldat Inconnu a écrit :@Golfy :
Je ne peux pas compiler ton programme![]()
http://golfy.free.fr/Velbus/Velbus.zip
Je tombe sur une erreur POLINK '_PB_StringBasePosition' mais je ne sais pas où trouver l'origine![]()
![]()
http://www.purebasic.fr/french/viewtopic.php?p=72529
si quelqu'un peut m'indiquer comment 'killer' une application sans utiliser la lib de Droopy...

Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: incomprehension avec les threads
comme cela
Pour retrouver le nom du programme en fonction de l'exe lancer, il faut utiliser ceci :
donc au final, tu scannes toutes les fenêtres ouvertes avec ce code :
pour chaque fenêtre, tu recupères le nom de l'exe avec le second code.
Si le nom de l'exe est celui recherché, tu demandes au programme de se fermer avec le premier code
tout ça tout ça. sauf si le premier code te suffit
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4
; Explication du programme :
; Ce code permet de fermer un programme à partir du nom de la fenêtre
Procedure.l FermeProgramme(Nom.s)
; nom = nom de la fenêtre en cours
; valeur de retour de la procedure :
; > 1 = OK
; > 0 = Erreur d'envoi du message d'arrêt au logiciel
; > -1 = Le logiciel n'est pas en cours d'exécution
resultat = 1
winHwnd = FindWindow_(vbNullString, Nom) ; Recherche de l'identifiant de la fenêtre
If winHwnd <> 0
If PostMessage_(winHwnd, #WM_CLOSE, 0, 0) = 0 ; Envoi d'un message de fermeture à la fenêtre
resultat = 0
EndIf
Else
resultat = -1
EndIf
ProcedureReturn
EndProcedure
RunProgram("Calc.exe")
Delay(3000)
FermeProgramme("Calculatrice")
; ProductName=%exe%
; ProductVersion=%date%
; CompanyName=LSI
; FileVersion=%date%
; InternalName=%exe%
; LegalCopyright=LSI
; OriginalFilename=%source%
; Web=http://www.lsi-dev.com
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4.5
; Explication du programme :
; Trouver le nom du programme à partir de l'ID d'une fenêtre
Procedure.s ProgramfileNameFromWindow(WindowID)
Protected ProcessID, Process32, Snapshot, ProcessEntry.PROCESSENTRY32, ProgramfileName.s
GetWindowThreadProcessId_(WindowID, @ProcessID)
Process32 = OpenLibrary(#PB_Any, "kernel32.dll")
If Process32
Snapshot = CallFunction(Process32, "CreateToolhelp32Snapshot", #TH32CS_SNAPPROCESS, 0)
If Snapshot
CompilerIf #PB_Compiler_Unicode
ProcessEntry\dwSize = SizeOf(PROCESSENTRY32)
If CallFunction(Process32, "Process32FirstW", Snapshot, @ProcessEntry)
Repeat
If ProcessID = ProcessEntry\th32ProcessID
ProgramfileName = PeekS(@ProcessEntry\szExeFile)
Break
EndIf
Until CallFunction(Process32, "Process32NextW", Snapshot, @ProcessEntry) = 0
EndIf
CompilerElse
ProcessEntry\dwSize = SizeOf(PROCESSENTRY32)
If CallFunction(Process32, "Process32First", Snapshot, @ProcessEntry)
Repeat
If ProcessID = ProcessEntry\th32ProcessID
ProgramfileName = PeekS(@ProcessEntry\szExeFile)
Break
EndIf
Until CallFunction(Process32, "Process32Next", Snapshot, @ProcessEntry) = 0
EndIf
CompilerEndIf
CloseHandle_(Snapshot)
EndIf
CloseLibrary(Process32)
EndIf
ProcedureReturn ProgramfileName
EndProcedure
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 30, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 Or CreateGadgetList(WindowID(0)) = 0
End
EndIf
StickyWindow(0, 1)
TextGadget(0, 5, 5, 290, 20, "")
AddWindowTimer(0, 1, 100)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Timer
Select EventTimer()
Case 1
Fenetre = WindowFromPoint_(DesktopMouseX() | DesktopMouseY() << 32)
Texte.s = ProgramfileNameFromWindow(Fenetre)
SetGadgetText(0, Texte)
EndSelect
Case #PB_Event_Gadget
Select EventGadget() ; Gadgets
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
KillTimer_(WindowID(0), 1)
End
Code : Tout sélectionner
Procedure Fenetres_Ouvertes()
hWnd.l = FindWindow_(0, 0)
While hWnd <> 0
If GetWindowLong_(hWnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE ; pour lister que les fenêtres visibles
; If GetWindowLong_(hWnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW ; pour lister que les fenêtres qui ne sont pas des ToolWindow ou barre d'outils
GetWindowThreadProcessId_(hWnd, @pid)
Debug pid
Debug hWnd
Txt.s = Space(256)
GetWindowText_(hWnd, Txt, 256)
If Txt <> ""
Debug Txt
Else
Debug "Sans nom"
EndIf
Debug ""
; EndIf
EndIf
hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
Wend
; EnumChildWindows_(FindWindow_(0, "Program manager"), @Fenetre_LieeAuBureau(), 0)
EndProcedure
Fenetres_Ouvertes()
Si le nom de l'exe est celui recherché, tu demandes au programme de se fermer avec le premier code

Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Re: incomprehension avec les threads
Je retiens mes mots mais tu sais que t'es un véritable génie toi LSI 

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: incomprehension avec les threads
*oufff* ok, ça devrait m'occuper un peu là 
MERCI LSI

MERCI LSI
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/