Du kannst den Callback aus der
Dll, die sich im anderen virtuellen Speicherbereich befindet,
nicht empfangen! Prozessspeicher sind getrennt - du musst für den Callback IPS (InterProcessCommunication -> MemoryMappedFiles, Files, Pipelines, Sockets, Messages ...) anwenden, welche Methode du da nimmst, ist dir überlassen!
Beim globalen Hook wird die
Dll (aus der SetWindowHookEx() mit derartigen Paramtern aufgerufen wird, sodass ein globales Hooken stattfindet (siehe
MSDN - letzter param = 0))
nämlich von jedem Prozess geladen! Dh. der Code deiner
Dll wird von jedem Prozess in nem eigenen Thread ausgeführt. Deshalb klappt das mit dem Callback ja auch
nur, wenn die
Dll bei deiner eigenen Testanwendung hookt.
Weiters, falls es sich um einen kleinen Hack handelt - dann ist es viel einfacher und effizienter, eine Code-Injektion mit lokalem-Hook zu machen.
Das ist an sich weniger Arbeit, verlangt aber einigies an Wissen über das Thema.