Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi PC-Aktionen an mehrere PCs im Netzwerk senden (https://www.delphipraxis.net/102021-pc-aktionen-mehrere-pcs-im-netzwerk-senden.html)

1ceman 23. Okt 2007 12:29

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
ja hab ich wohl falsch verstanden...hatte mich zwar irgendwie gewundert, aber mir gedacht, dass ich bestimmt falsch liege...

das Problem ist nur, dass es zwar jetzt läuft, also es kommen keine Fehlermeldungen mehr, aber es tut sich sonst auch net viel...

Relicted 23. Okt 2007 12:33

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
:gruebel: mit der fehlerbeschreibung kann ich leider nicht viel anfangen... da wird dann hilfe schwer... zip mal deinen quellcode und lad ihn hoch dann kann man mal reinschauen..

1ceman 23. Okt 2007 12:43

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
Liste der Anhänge anzeigen (Anzahl: 1)
ok ist auch etwas komisch beschrieben, ich wollte nur sagen, dass es nicht funktioniert, also die Tastatue eingabe wird nicht in das Memo geschrieben.

So hab mal das ganze Projekt hochgeladen...Danke für die Hilfe

Relicted 23. Okt 2007 12:52

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
ok fehler gefunden...

Delphi-Quellcode:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
//es ist ebenfalls moeglich die Bearbeitung an eine Bedingung zu knuepfen
//it's possible to call CallNextHookEx conditional only.
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    TRUE: exit; //wenn code kleiner 0 wird nix gemacht
                //if code smaller 0 nothing has to be done
    FALSE:
      begin
      sendmessage(WindowHandle, WM_KeyLogMessage, wParam, lParam);
in dem sendmessage stand HookHandle... is natürlich bullshit... muss windowhandle heißen...

ausserdem ist der

Delphi-Quellcode:
    HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, 0);
hook nur lokal (innerhalb deiner anwendung...
bitte wie vorhin beschrieben auf
Delphi-Quellcode:
    HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyboardHookProc, HInstance, 0);
ändern und die message als const = 13 deklarieren... dann geht alles !


gruß
reli

1ceman 23. Okt 2007 13:05

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
erst nochmal vielen dank ;)

Hab das HookHandle in sendmessage zu WindowHandle geändert.
hab "HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyboardHookProc, HInstance, 0);" eingefügt(ersetzt)

Nur das "ändern und die message als const = 13 deklarieren... dann geht alles ! " versteh ich net...
meinst du mit message WM_KeyLogMessage??

hab das jetzt einfach mal so gemacht (in der dll):
Delphi-Quellcode:
const
  WM_KeyLogMessage: Cardinal = 13;
aber leider funktioniert es immer noch net, oder ich bin einfach zu dumm...

Relicted 23. Okt 2007 13:07

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
neeeeee....

Delphi-Quellcode:
const
  WH_Keyboard_LL = 13;
wie ich vor ein paar posts schon geschrieben habe...

gruß
reli

1ceman 23. Okt 2007 13:33

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
asoooo...jetzt verstehe ich das ;)
Und es funktioniert...*freu*
Nochmal vielen vielen dank für deine Hilfe und Mühe...

Hab auch noch das Uninstall richtig gemacht und nen MouseHook eingebaut...funktionier alles super.

Relicted 23. Okt 2007 13:35

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
;-)

kein problem - dafür gibts dieses forum :-)


gruß
reli

1ceman 24. Okt 2007 08:38

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
so hab irgendwie noch nen kleines problem mit dem auswerten von wParam und lParam und ncode.
Also hab versucht xpos und ypos auszugeben, was auch funktioniert, aber nur solange die maus über der Form ist...
Ich hab folgenden Code in die funktion mousehookproc gepackt:
Delphi-Quellcode:
setprop(WindowHandle, 'mous_xpos', PMOUSEHOOKSTRUCT(lParam)^.pt.x);
setprop(WindowHandle, 'mous_ypos', PMOUSEHOOKSTRUCT(lParam)^.pt.y);
#

und in der form hab ich diese funtion:

Delphi-Quellcode:
procedure TF_Netz_Server.GotKeyMessage( var msg : TMessage );
var li:longint;
begin
li := longint(getprop(hwnd, 'mous_xpos'));
//getprop(hwnd, 'keyb_ncode');
M_History.Lines.Add(inttostr(li));
M_History.Lines.Add(inttostr(msg.lParam));
end;
Und ich vweiß auch nicht genau wie ich herausbekommen soll welche taste gedrückt wurde.

Relicted 24. Okt 2007 13:04

Re: PC-Aktionen an mehrere PCs im Netzwerk senden
 
genau wie WH_Keyboard und WH_Keyboard_LL verhält sich das ganze mit der maus... die messages ohne _LL sind nur lokal - also innerhalb des programms.

take that:

Delphi-Quellcode:
const
  WH_Mouse_LL = 14;
gruß
reli


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
Seite 3 von 4     123 4      

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