5/5 (6 avis)
Vue 4 737 fois - Téléchargée 460 fois
Public filelog As String Private Sub Check1_Click() If Check1.Value Then Dim strString As String strString = """" & App.Path & "\" & App.EXEName & ".exe""" & """%1"" %*" SaveSetting "Desperado-log-app", "Startup", "activ", 1 Call savestring(HKEY_CLASSES_ROOT, _ "exefile\shell\open\command", "", strString) mnactivite.Checked = True mnactivit.Checked = True Else strString = """%1"" %*" SaveSetting "Desperado-log-app", "Startup", "activ", 0 Call savestring(HKEY_CLASSES_ROOT, _ "exefile\shell\open\command", "", strString) mnactivite.Checked = False mnactivit.Checked = False End If End Sub Private Sub cmdtray_Click() CreateIcon Form1.Visible = False End Sub Private Sub Command1_Click() On Error GoTo ErrHandler CommonDialog1.ShowOpen Text1.Text = CommonDialog1.FileName filelog = CommonDialog1.FileName SaveSetting "Desperado-log-app", "Startup", "filelog", filelog Exit Sub ErrHandler: Exit Sub End Sub Private Sub Command2_Click() Form2.Visible = True End Sub Private Sub Command3_Click() If Check1.Value = 1 Then ans = MsgBox("Attention il ne faut pas changer l'enplacement ou le mon du fichier: " & App.EXEName & ".EXE " & vbNewLine & _ " car cela va bloquer l'execution de tout les fichier .EXE " & vbNewLine _ & vbNewLine & _ "*** pour eviter tout problème désactiver l'enregistrement ," & vbNewLine & _ " en suite déplacer le fichier comme vous voulez (pour le cacher) ;-) *** " & vbNewLine & _ " Voulez vous quitter ?", vbCritical + vbYesNo, " Attention Desperado Info ") If ans = vbYes Then End End If Else ans = MsgBox(" Voulez vous quitter !! ", vbCritical + vbYesNo, "Desperado application log ") If ans = vbYes Then End End If End Sub Private Sub Form_Load() Dim openlog As String statut = GetSetting("Desperado-log-app", "Startup", "activ", "0") filelog = GetSetting("Desperado-log-app", "Startup", "Filelog", "0") If Command$ <> "" Then If statut Then Open filelog For Append As #1 Print #1, Command$ & " Executé le : " & CStr(Now) Close #1 End If Call Shell(Command$, vbNormalFocus) End Else Text1 = filelog Check1.Value = statut mnactivite.Checked = statut mnactivit.Checked = statut End If End Sub Private Sub Form_Unload(Cancel As Integer) If Check1.Value = 1 Then MsgBox "Attention il ne faut pas changer l'enplacement du fichier: " & App.EXEName & ".EXE " & vbNewLine & _ " car cela va bloquer l'execution de tout les fichier .EXE " & vbNewLine _ & vbNewLine & _ "*** pour eviter tout problème désactiver l'enregistrement ," & vbNewLine & _ " en suite déplacer le fichier comme vous voulez (pour le cacher) ;-) *** ", vbCritical, " Attention Desperado Info " End If End Sub Public Sub CreateIcon() Dim Tic As NOTIFYICONDATA Tic.cbSize = Len(Tic) Tic.hwnd = Picture1.hwnd Tic.uID = 1& Tic.uFlags = NIF_DOALL Tic.uCallbackMessage = WM_MOUSEMOVE Tic.hIcon = Picture1.Picture Tic.szTip = "Desperado Demo Project" & Chr$(0) erg = Shell_NotifyIcon(NIM_ADD, Tic) End Sub Public Sub DeleteIcon() Dim Tic As NOTIFYICONDATA Tic.cbSize = Len(Tic) Tic.hwnd = Picture1.hwnd Tic.uID = 1& erg = Shell_NotifyIcon(NIM_DELETE, Tic) End Sub Private Sub mnabout_Click() frmAbout.Show End Sub Private Sub mnactivit_Click() If mnactivit.Checked = True Then Check1.Value = 0 Else Check1.Value = 1 End If Call Check1_Click End Sub Private Sub mnactivite_Click() If mnactivite.Checked = True Then Check1.Value = 0 Else Check1.Value = 1 End If Call Check1_Click End Sub Private Sub mnexit_Click() Call Command3_Click End Sub Private Sub mnexitop_Click() Call Command3_Click End Sub Private Sub mnmain_Click() Form1.Show End Sub Private Sub mnview_Click() Call Command2_Click End Sub Private Sub mnviewlog_Click() Call Command2_Click End Sub Private Sub nmtray_Click() Call cmdtray_Click End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) X = X / Screen.TwipsPerPixelX Select Case X Case WM_RBUTTONDOWN PopupMenu mnpopup Case WM_LBUTTONDBLCLK Form1.Visible = True End Select End Sub
26 févr. 2006 à 23:04
30 janv. 2006 à 19:58
Donc, si vous voulez faire la même 'mésaventure' que moi, lisez plutôt se qui suit et ne paniquez pas : Lancer un programme quelconque, une fenêtre vous demande quel programme vous voulez utiliser pour lancer le programme (???!!!). Ben oui, c'est là toute l'astuce de desperado_vib. Choisissez votre éditeur VB. Une fois dans ce dernier, ouvrez le projet de desperado_vib et lancer le. Il suffit de le désactiver en décochant la case. Terminez le prog normalement, puis quittez VB. Et le tour est joué. Tout refonctionne comme avant. Ouf! J'ai eu peur pendant une minute!
13 janv. 2006 à 14:46
pour connaitre la fin d'exécution d'un prog, il suffit de le lancer à l'aide d'un fichier bat MS-DOS, qui contrairement à la commande Shell sous VB, n'est pas asynchrone, et donc attend la fermeture de l'application pour se poursuivre.
Concernant la remarque de FCUDEL, je pense qu'on peut en effet l'étendre à d'autres extensions, mais il faut dans ce cas pocéder différemment au niveau des registres.
(bon vous m'arretez si je me trompe)
imaginons qu'on veuille espionner les lancements des jpg : dans la base de registres, il faut trouver "*.jpg" dans classroot, voir quel programme lui est associé (exemple : Acdsee) et dans la clé Acdsee, procéder à l'interception du lancement tel qu'il est fait dans le programme de desperado_vib. Donc une étape de plus.
Je sais pas si c'est clair, mais allez jeter un oeil dans la base de registre, ca sera peut-être plus explicite.
13 janv. 2006 à 13:08
Je cherchais un moyen pour pouvoir intercepter le lancement d'un logiciel gourmand en ressource cpu (genre un jeu récent), et d'augmenter a ce moment la, la fréquence processeur, eh bien avec ton programme, j'ai les bases pour le faire.
Il me restera à trouver une combine pour "capter" la fin du lancement du jeu et remettre la fréquence CPU au plus bas. Là, je sèche.
juste un reproche (à part les commentaires, un peu absents) : comme ton prog est exécuté à chaque lancement d'un Exe, il nécessite d'être compilé ! c'est tout bête, mais si on y pense pas, ca ne fonctionne pas depuis Visual Studio.
a+
5 janv. 2006 à 14:51
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.