Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Hooks - Windows 7/8 (https://www.delphipraxis.net/181865-hooks-windows-7-8-a.html)

Gruber_Hans_12345 13. Sep 2014 15:35

Hooks - Windows 7/8
 
at schon jemand einen Hook WH_JOUNRNALRECORD funktionsfähig auf windows 7/8 am laufen`?

Unter XP läufts ohne Probleme, aber Win 8 macht zicken -

habe schon manifest mit <requestedExecutionLevel level="requireAdministrator" uiAccess="true"/>

aber das hilft noch nix, muss man da wirklich den weg mit Zertifikat und co machen???

Hat wer zusätzliche infos dazu?

Luckie 13. Sep 2014 16:30

AW: Hooks - Windows 7/8
 
Wenn wir jetzt von Frauen sprechen würden, wäre die Problembeschreibung "zicken" vollkommen ausreichend. Nur glaube ich, sprechen wir hier nicht von Frauen, auch wenn sich Computer und Programme anscheinend manchmal ähnliche Verhaltensweisen aufweisen. Des weiteren wäre etwas Code hilfreich. Eventuell beinhaltet er einen Fehler oder er läuft nur, weil XP "gutmütiger" ist.

Gruber_Hans_12345 13. Sep 2014 18:24

AW: Hooks - Windows 7/8
 
Also :

mein Manifest

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    version="1.0.0.0"
    name="HookTest"
    type="Win32"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="true"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
</assembly>

und das der Code den ich verwenden

Delphi-Quellcode:
function JournalHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
    temp       : PEventMsg;
    tempS      : string;
begin
    Result := CallNextHookEx(HookHandle_Mouse, nCode, wParam, lParam);
    if nCode < 0 then exit;
    if (nCode = HC_ACTION) then begin
        temp   := PEventMsg(lParam);

        setlength(tempS, 1024);
        setlength(tempS, GetWindowText(temp^.hwnd, PChar(tempS), 1024));

        Form9.Memo1.Lines.Add('Hook Msg : '+IntToStr(nCode)+', '+IntToStr(temp^.hwnd)+' "'+tempS+'" ,'+IntToStr(temp^.message)+', '+IntToStr(temp^.paramL)+', '+IntTostr(temp^.paramH)+'');
    end;
end;


function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
    DisableThreadLibraryCalls(HInstance);
    Result := False;
    if HookHandle_Journal = 0 then begin
        HookHandle_Journal := SetWindowsHookEx(WH_JOURNALRECORD, @JournalHookProc, HInstance, 0);
        Result             := TRUE;
    end;
end;
unter Windows XP läuft alles so wie geplant

auf meinem Windows 7 rechner stürzt es "komisch" ab sprich es reagiert nicht ... nach einiger zeit dann doch wieder usw..

am Win 8 PC lässt es sich nicht starten
mit folgender Errormeldung :

D:\HookTest.exe
Eine Referenzauswertung wurde vom Server zurückgesendet.

cookie22 13. Sep 2014 23:10

AW: Hooks - Windows 7/8
 
Was willst du denn überhaupt hooken?

Dir ist schon klar, dass Win7/8 in den allermeisten Fällen mit 64 Bit läuft.
Also brauchst du hier zusätzlich auch einen 64 Bit Hook um alles hooken zu können.

Gruber_Hans_12345 14. Sep 2014 09:05

AW: Hooks - Windows 7/8
 
Also hauptsächlich eines meiner eigenen programme aber dann auch noch dad rine oder andere externe programm (adobe pdf usw...)
Ich möchte eben ein makro aufzeichnen und das dann später wieder abspielen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz