begin process at 2013 06 20 10:44:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Hook et Abend Programme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Hook et Abend Programme

dimanche 5 août 2012 à 19:30:35 | Hook et Abend Programme

Cjvg

Bonjour,

J'utilise un Hook pour déplacer la barre de défilement d'un MSHflexgrid.
A la sortie du programme je neutralisant le Hook. Rien à signaler jusque là, le traitement se déroule correctement.

En cas de problème, le programme tombe en erreur et le Hook reste toujours actif.

Comment intercepter les abend pour neutraliser le hook avant de sortir proprement du programme (Le On error ne marche pas)

En l’absence de solution, j’abandonnerais malheureusement cette technique qui fonctionne parfaitement.

Par avance merci pour la réponse précise que vous me donnerais
dimanche 5 août 2012 à 22:02:06 | Re : Hook et Abend Programme

ucfoutu

Membre Club
Bonjour,
Difficile de te répondre avec si peu (et aucun code montré).
Les seules questions raisonnables dans ce cas sont :
- qu'est-ce qui, dans ton appli, pourrait selon toi en provoquer l'avortement
- si tu "harponnes" à une fin particulière, qu'as-tu prévu pour "déharponner" dès que cette fin avait été atteinte ? (quitte à "réharponner" dès qu'à nouverau nécessaire) ?
- les éventuels avortements de ton appli interviennent-ils depuis l'exe ou en mode run de l'IDE ?
- ton appli contient-elle une ou plusieurs instruictions END ? ou aucune ?
- à quoi touche exactement ton harpon ? (en détail)
- quel est ton OS ? je crois par exemple savoir que WIN 7 est, lui, capable de "déharponner" seul spontanément

"Harponner" est toujours assez acrobatique. Je ne connais personnellement pas de "harponnage" sans risques autre que lié à un fil (thread) bien défini. VB6 n'est pas le meilleur outil pour ainsi lier à un fil particulier.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
lundi 6 août 2012 à 10:56:00 | Re : Hook et Abend Programme

Cjvg

qu'est-ce qui, dans ton appli, pourrait selon toi en provoquer l'avortement
- Je ne sais pas mais cela peut arriver demain, dans une semaine,dans un mois......

si tu "harponnes" à une fin particulière
- Non le programme permet à l'utilisateur de mettre à jour une Base

ton appli contient-elle une ou plusieurs instruictions END
- Aucune

à quoi touche exactement ton harpon
- Comme je l'ai dis: à la barre de défilement MSHflexgrid

quel est ton OS ?
- Windows XP et Vista

----------------------------------------------------------------------------------------------

Public Function GetMsgProc(ByVal nCode As Long, ByVal wParam As Long, lParam As MSG) As Long
Dim PosX As Long
Dim PosY As Long

If lParam.message = WM_MOUSEWHEEL Then
If Objet.Rows = Objet.FixedRows Then Exit Function

Feuille.ScaleMode = 3
PosX = lParam.pt.x - Feuille.ScaleX(Feuille.Left, vbTwips, vbPixels)
PosY = lParam.pt.y - Feuille.ScaleY(Feuille.Top, vbTwips, vbPixels)

'On se trouve à l'intérieur de l'Objet
If PosX > Objet.Left And PosX < (Objet.Left + Objet.Width) And _
PosY > Objet.Top And PosY < (Objet.Top + Objet.Height) Then

If lParam.wParam > 0 Then
' On est en haut de la feuille
If Objet.TopRow - MaxRoulette <= Objet.FixedRows Then
Objet.TopRow = Objet.FixedRows
Feuille.ScaleMode = 1
Exit Function
End If

If Objet.TopRow > Objet.FixedRows Then Objet.TopRow = Objet.TopRow - MaxRoulette
Else
If Objet.TopRow + MaxRoulette < Objet.Rows - 1 Then _
If Objet.TopRow < Objet.Rows - 1 Then Objet.TopRow = Objet.TopRow + MaxRoulette
End If
End If
Feuille.ScaleMode = 1

End If

'GetMsgProc = CallNextHookEx(Ihook, nCode, wParam, lParam)
End Function

Public Sub OpenHook(Parm1 As Form, Parm2 As MSHFlexGrid)
Set Objet = Parm2
Set Feuille = Parm1
Ihook = SetWindowsHookEx(WH_GETMESSAGE, AddressOf GetMsgProc, App.hInstance, App.ThreadID)
End Sub

Public Sub CloseHook()
UnhookWindowsHookEx Ihook
Set Objet = Nothing
Set Feuille = Nothing
End Sub







lundi 6 août 2012 à 11:05:20 | Re : Hook et Abend Programme

ucfoutu

Membre Club

Ben,
Pour moi : dès lors que ton harpon est subordonné, comme tu l'as fait, au fil de ton appli, il disparait normalement lorsque le fil est terminé (de manière inopinée ou non) !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
lundi 6 août 2012 à 11:10:10 | Re : Hook et Abend Programme

ucfoutu

Membre Club
Réponse acceptée !
Le seul problème que je "vois" ne pourrait surgir qu'en mode run depuis l'IDE, pas en mode exécution.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
lundi 6 août 2012 à 16:19:27 | Re : Hook et Abend Programme

Cjvg


J'ai ajouté une instruction dans le projet qui provoque une erreur suite à une entrée clavier.

Je confirme ce que tu as dis, un EXE qui tombe en erreur "neutralise" parfaitement le Hook à la sortie du traitement (Contrairement à ce que je croyais).


Merci encore


Cette discussion est classée dans : programme, hook, abend


Répondre à ce message

Sujets en rapport avec ce message

Anti hook script ? [ par belette321 ] J'aimerais que mon programme puisse detecter si il est "Hook" par un programme du genre un DLL injetor ou Cheat Engine. Si il detect un hook il fait m Programme de saisies des données relationnelles avec ADO.NET [ par gnignile ] Je n'arrive pas écrire des programmes de saisies de données relationnelles  comme formulaires père/fils de acces.Je souhaitera un exemplaire de code a Recompiler en un seul Exe l'ensemble des ressources de mon programme [ par Dr_shaman ] Bonjour, j'ai un exécutable avec une image, une dll, une icône. Je voudrai savoir s'il est possible de tout recompiler en un seul Exe. Avec Visual 200 Lancer un programme inséré dans le projet vb [ par remifalcon ] Bonjour ! Je souhaiterai intégrer un programme.exe dans un vb et le lancer lors de l'appui sur un bouton dans le vb.C'est à dire pas juste un raccourc Aide pour du VB [ par Portos67 ] Bonjour,Je suis à la recherche de quelques choses ou quelqu'un qui pourrait m'aider pour une programmation en VB. J'ai fais un programme en .bat que j Exe pour poste verrouillé [ par YodeChato ] Bonjour,Je suis en train de me motiver pour faire des petits programmes pour mon boulot. J'utilise VB Express 2008.J'ai fait un tout petit programme d Telnet AIX / Unicode vers Ascii et Ascii vers Unicode [ par SebOfBorg ] Bonjour,J'essai de faire un programme me permettant de communiquer avec un AIX via Telnet(Winsock) pour lancer des lignes de commandes depuis VB6.J'ai Programme pour ajouter un site de confiance automatiquement [ par makaay ] Bonjour,Je voulais créer un bout de code sous VbScript qu'on va utiliser pour ajouter un site de confiance à chaque machine que nous utilisons ici. VBA problem: [ par yr1r13762 ] Je voulais faire une petite interface (userform) sur VBA .je veux mettre une pause durant laquelle j'ai la possibilité d'appuyer sur autres touches.Mo Programme VB ne fonctionne pas avec wine(linux) [ par moimatthieu ] Bonjour à tousJ'ai un petit soucis. J'ai lu les différents articles qui parlent des émulateurs et de wine(Non je n'ai pas dit que wine est un émulateu


Nos sponsors


Sondage...

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales