Accueil > Forum > > > > Hook et Abend Programme
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
|
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
|
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
|
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
Livres en rapport
|
Derniers Blogs
INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 .INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 . par Patrick Guimonet
#Yammer Certains s'en sont déjà fait l'écho (ici en allemand par exemple : Yammer Integration in Office 365 Phase 1) ou bien sûr sur le blog SharePoint : Make Yammer your default social network in Office 365 en anglais. Mais c'e...
Cliquez pour lire la suite de l'article par Patrick Guimonet [DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK[DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK par bianca
Objectif
Pour aller plus rapidement dans les menus de Dynamics CRM depuis votre client CRM pour Outlook, vous pouvez utiliser le dossier des Favoris d'Outlook. En effet, par simple glisser/déplacer, vous pouvez déposer un éléme...
Cliquez pour lire la suite de l'article par bianca VISUAL STUDIO 2013VISUAL STUDIO 2013 par Etienne Margraff
Ahh, ENFIN ! c'est officiel, il va y avoir un VS et un TFS 2013. De nouvelles fonctionnalités qui vont à mon sens assoir la maturité de TFS qui est maintenant l'outil incontournable pour tout projet (.NET, mais pas seulement !). Si vous n'avez pas jet...
Cliquez pour lire la suite de l'article par Etienne Margraff CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT par JeremyJeanson
Note : Je poste cet article à titre de pense-bête. Cela fait des années que je me trimballe avec une capture d'écran, car je ne me rappel jamais comment choisir la collation d'un SQL Server pour SharePoint. Pour SharePoint, il est conseillé de choisir la ...
Cliquez pour lire la suite de l'article par JeremyJeanson ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGINETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGIN par Philess
Dans cet article nous allons créer un plugin installable sur le Team Web Access qui s'intègrera dans l'architecture du site et se chargera au moment où on le décidera.
Avant de lire ce billet et si cela n'est pas encore fait j...
Cliquez pour lire la suite de l'article par Philess
Logiciels
Nego Facturation (1.85)NEGO FACTURATION (1.85)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Devis-Factures PHMSD (2.2.0.1)DEVIS-FACTURES PHMSD (2.2.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD WDmemoCode (2.0.0.1)WDMEMOCODE (2.0.0.1)WDmemoCode a été conçu pour aider les développeurs Windev à créer/compléter et conserver une base... Cliquez pour télécharger WDmemoCode ProtoMedic (4.0.0.11)PROTOMEDIC (4.0.0.11)ProtoMedic est un logiciel destiné principalement aux médecins généralistes.
ProtoMedic permet d... Cliquez pour télécharger ProtoMedic MyCurriculum 2011 (7.4.1.12)MYCURRICULUM 2011 (7.4.1.12)Rédigez votre Curriculum Vitae mais également ceux de votre famille ou de vos amis très facilemen... Cliquez pour télécharger MyCurriculum 2011
|