Question : Chemin de procédé d'application

Détectant l'application avant le launch
Is là une manière (I suspectent un message particulier de fenêtres) de découvrir quand les gens lancent des programmes/applications ? l'application du

The fonctionne très bien, SI vous l'examinez dans seul le bloc - notes.  MAIS avec tous les autres dossiers ? ce n'est pas working.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 :
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 :
class= MatHook >library " notpretty " de l'id= " codeSnippet939335 " de
= HC_ACTION de nCode) puis
    commencer
      Enfermer le nCode de
        HCBT_CREATEWND :
        commencer
          hTemp : = HWND (wp) ;
          FillChar (szClass, 256, 0) ;
          GetClassName (hTemp, szClass, 256) ;
          si (szClass = « bloc - notes ") puis
          commencer
            buf^.hMatWnd : = htemp ;
            buf^.oldProc : = GetWindowLong (buf^.hMatWnd, GWL_WNDPROC) ;
            SetWindowLong (buf^.hMatWnd, GWL_WNDPROC, nombre entier (@MatWndProc));
          extrémité ;
        extrémité ;
        HCBT_DESTROYWND :
        commencer
          hTemp : = HWND (wp) ;
          FillChar (szClass, 256, 0) ;
          GetClassName (hTemp, szClass, 256) ;
          si (szClass = « bloc - notes ") puis
          commencer
            SetWindowLong (buf^.hMatWnd, GWL_WNDPROC, buf^.OldProc) ;
          extrémité ;

        extrémité ;
      extrémité ;
    extrémité ;
    Résultat : = CallNextHookEx (buf^.hMatHook, nCode, wp, lp) ;
  excepté
    Résultat : = 0 ;
  extrémité ;
extrémité ;

// a installé le crochet
fonction SetHook : Booléen ; stdcall ; exportation ;
commencer
  essai
    Résultat : = faux ;
    si (non assigné (buf)) puis
    commencer
      carte : = CreateFileMapping (DWord (- 1), zéro, PAGE_READWRITE, 0, SizeOf (THookRec), « HookRecMemBlock ") ;
      buf : = MapViewOfFile (carte, FILE_MAP_ALL_ACCESS, 0, 0, 0) ;
      buf^.hMatHook : = SetWindowsHookEx (WH_CBT, @MatHookProc, hInstance, 0) ;
      Résultat : = rectifier ;
    extrémité ;
  excepté
    Résultat : = faux ;
  extrémité ;
extrémité ;

// enlève le crochet
fonction RemoveHook : Booléen ; stdcall ; exportation ;
commencer
  Résultat : = faux ;
  si (assigné (buf)) puis
  commencer
    // indiquent notre nouveau proc de wnd cesser de subclassing
    // (doit être fait dans le contexte du processus de cible)
    SendMessage (buf^.hMatWnd, wm_User + 1, 1, 0) ;
    si (<> 0 de buf^.hMatHook) puis UnhookWindowsHookEx (buf^.hMatHook) ;
    buf^.hMatHook : = 0 ;
    UnmapViewOfFile (buf) ;
    buf : = zéro ;
    Résultat : = rectifier ;
  extrémité ;
extrémité ;

Point d'entrée de DLL de //
procédé DllEntry (dwReason : DWord) ;
commencer
  Enfermer le dwReason de
    DLL_PROCESS_ATTACH :
    commencer
      si (non assigné (buf)) puis
      commencer
        carte : = OpenFileMapping (FILE_MAP_ALL_ACCESS, faux, « HookRecMemBlock ") ;
        buf : = MapViewOfFile (carte, FILE_MAP_ALL_ACCESS, 0, 0, 0) ;
        CloseHandle (carte) ;
        carte : = 0 ;
      extrémité ;
    extrémité ;
    DLL_PROCESS_DETACH :
    commencer
      UnmapViewOfFile (buf) ;
      buf : = zéro ;
    extrémité ;
  extrémité ;
extrémité ;

exportations
  SetHook,
  RemoveHook ;

force de //
commencer
  DisableThreadLibraryCalls (hInstance) ;
  DllProc : = @DLLEntry ;
  DllEntry (DLL_PROCESS_ATTACH) ;
extrémité.
class= de

Réponse : Chemin de procédé d'application

>> je pense que c'est des escroqueries, pas le pour.

pourquoi ?

>> Cela ne fonctionne pas sur des apps d'aucun-fenêtre et de console.

Sure, c'est la manière 1a et comme je l'ai mentionnée dans le HTTP : #33496630 que cela ne fonctionnent pas avec de telles fenêtres, parce qu'il est basé sur l'interception l'avis de création de fenêtre. Ainsi il ne peut pas fonctionner avec des apps d'aucun-fenêtre. Il ne peut pas également fonctionner avec les apps de console, parce que SetWindowsHook et SetWinEventHook n'arrêtent pas des messages des fenêtres de console.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us