|
Registriert seit: 2. Dez 2009 Ort: München 320 Beiträge Lazarus |
#31
![]() Insgesamt bin ich aber an dem Thema immer noch interessiert. Falls also jemand eine einfach Lösung ohne Dienst etc. hat, dann bitte her damit.
Das Teil setzt soweit unten an, dass die Windowsmessages hier Aufschlagen bevor diese an die zuständige WndProc gesendet werden. Verwendung: DLL einfach mit CreateHook aufrufen. PS. Dient als Template, habs nicht vollständig durchgetestet, Feintuning eventuell Manuelle Parametrisierung sowie IPC noch notwendig.
Delphi-Quellcode:
library Project1; {$IMAGEBASE $03900000} uses windows, messages; Type PDevBroadcastHdr = ^TDevBroadcastHdr; TDevBroadcastHdr = Packed Record dbcd_size : DWORD; dbcd_devicetype : DWORD; dbcd_reserved : DWORD; end; var hWndProcHook: HHOOK=0; // wParam: // [in] Specifies whether the message was sent by the current thread. // If the message was sent by the current thread, it is nonzero; // otherwise, it is zero. // lParam: // [in] Pointer to a CWPSTRUCT structure that contains details about // the message. // // PCWPSTRUCT: // lParam // Specifies additional information about the message. // The exact meaning depends on the message value. // wParam // Specifies additional information about the message. // The exact meaning depends on the message value. // message // Specifies the message. // hwnd // Handle to the window to receive the message. function CallWndProc(Code: integer; wParam: WPARAM; lParam: LPARAM): LResult; stdcall; var pCWP: PCWPSTRUCT; begin if Code >= 0 then begin Result := CallNextHookEx(hWndProcHook, Code, wParam, lParam); end else begin Result := CallNextHookEx(0, Code, wParam, lParam); EXIT; end; pCWP := pointer(lParam); if pCWP^.message = WM_DEVICECHANGE then begin case pCWP^.wParam of $8000 : if PDevBroadcastHdr(pCWP^.lParam)^.dbcd_devicetype = $00000002 then begin //-- Fenster der Hostapplication suchen und an dieses posten, //-- oder Host Application speichert Handle vor dem Laden der DLL in //-- shared memory oder Registry. //-- Elegant wäre hier eine IPC mit einem PIPE Client oder Socket Client end; $8004 : if PDevBroadcastHdr(pCWP^.lParam)^.dbcd_devicetype = $00000002 then begin //-- Ergo wie oben end; else pCWP.message := WM_NULL; //-- Message vernichten end; end; (** case pCWP.message of WM_NULL : wprocTranslator(pCWP.message,'WM_NULL'); WM_CREATE : wprocTranslator(pCWP.message,'WM_CREATE') ; WM_DESTROY : wprocTranslator(pCWP.message,'WM_DESTROY') ; WM_MOVE : wprocTranslator(pCWP.message,'WM_MOVE') ; WM_SIZE : wprocTranslator(pCWP.message,'WM_SIZE') ; WM_ACTIVATE : wprocTranslator(pCWP.message,'WM_ACTIVATE') ; WM_SETFOCUS : wprocTranslator(pCWP.message,'WM_SETFOCUS') ; WM_KILLFOCUS : wprocTranslator(pCWP.message,'WM_KILLFOCUS') ; WM_ENABLE : wprocTranslator(pCWP.message,'WM_ENABLE') ; WM_SETREDRAW : wprocTranslator(pCWP.message,'WM_SETREDRAW') ; WM_SETTEXT : wprocTranslator(pCWP.message,'WM_SETTEXT') ; WM_GETTEXT : wprocTranslator(pCWP.message,'WM_GETTEXT') ; WM_GETTEXTLENGTH : wprocTranslator(pCWP.message,'WM_GETTEXTLENGTH') ; WM_PAINT : wprocTranslator(pCWP.message,'WM_PAINT') ; WM_CLOSE : wprocTranslator(pCWP.message,'WM_CLOSE') ; WM_QUERYENDSESSION : wprocTranslator(pCWP.message,'WM_QUERYENDSESSION') ; WM_QUIT : wprocTranslator(pCWP.message,'WM_QUIT') ; WM_QUERYOPEN : wprocTranslator(pCWP.message,'WM_QUERYOPEN') ; WM_ERASEBKGND : wprocTranslator(pCWP.message,'WM_ERASEBKGND') ; WM_SYSCOLORCHANGE : wprocTranslator(pCWP.message,'WM_SYSCOLORCHANGE') ; WM_ENDSESSION : wprocTranslator(pCWP.message,'WM_ENDSESSION') ; WM_SYSTEMERROR : wprocTranslator(pCWP.message,'WM_SYSTEMERROR') ; WM_SHOWWINDOW : wprocTranslator(pCWP.message,'WM_SHOWWINDOW') ; WM_CTLCOLOR : wprocTranslator(pCWP.message,'WM_CTLCOLOR') ; WM_WININICHANGE : wprocTranslator(pCWP.message,'WM_WININICHANGE') ; WM_DEVMODECHANGE : wprocTranslator(pCWP.message,'WM_DEVMODECHANGE') ; WM_ACTIVATEAPP : wprocTranslator(pCWP.message,'WM_ACTIVATEAPP') ; WM_FONTCHANGE : wprocTranslator(pCWP.message,'WM_FONTCHANGE') ; WM_TIMECHANGE : wprocTranslator(pCWP.message,'WM_TIMECHANGE') ; WM_CANCELMODE : wprocTranslator(pCWP.message,'WM_CANCELMODE') ; WM_SETCURSOR : wprocTranslator(pCWP.message,'WM_SETCURSOR') ; WM_MOUSEACTIVATE : wprocTranslator(pCWP.message,'WM_MOUSEACTIVATE') ; WM_CHILDACTIVATE : wprocTranslator(pCWP.message,'WM_CHILDACTIVATE') ; WM_QUEUESYNC : wprocTranslator(pCWP.message,'WM_QUEUESYNC') ; WM_GETMINMAXINFO : wprocTranslator(pCWP.message,'WM_GETMINMAXINFO') ; WM_PAINTICON : wprocTranslator(pCWP.message,'WM_PAINTICON') ; WM_ICONERASEBKGND : wprocTranslator(pCWP.message,'WM_ICONERASEBKGND') ; WM_NEXTDLGCTL : wprocTranslator(pCWP.message,'WM_NEXTDLGCTL') ; WM_SPOOLERSTATUS : wprocTranslator(pCWP.message,'WM_SPOOLERSTATUS') ; WM_DRAWITEM : wprocTranslator(pCWP.message,'WM_DRAWITEM') ; WM_MEASUREITEM : wprocTranslator(pCWP.message,'WM_MEASUREITEM') ; WM_DELETEITEM : wprocTranslator(pCWP.message,'WM_DELETEITEM') ; WM_VKEYTOITEM : wprocTranslator(pCWP.message,'WM_VKEYTOITEM') ; WM_CHARTOITEM : wprocTranslator(pCWP.message,'WM_CHARTOITEM') ; WM_SETFONT : wprocTranslator(pCWP.message,'WM_SETFONT') ; WM_GETFONT : wprocTranslator(pCWP.message,'WM_GETFONT') ; WM_SETHOTKEY : wprocTranslator(pCWP.message,'WM_SETHOTKEY') ; WM_GETHOTKEY : wprocTranslator(pCWP.message,'WM_GETHOTKEY') ; WM_QUERYDRAGICON : wprocTranslator(pCWP.message,'WM_QUERYDRAGICON') ; WM_COMPAREITEM : wprocTranslator(pCWP.message,'WM_COMPAREITEM') ; WM_GETOBJECT : wprocTranslator(pCWP.message,'WM_GETOBJECT') ; WM_COMPACTING : wprocTranslator(pCWP.message,'WM_COMPACTING') ; WM_COMMNOTIFY : wprocTranslator(pCWP.message,'WM_COMMNOTIFY') ; WM_WINDOWPOSCHANGING : wprocTranslator(pCWP.message,'WM_WINDOWPOSCHANGING') ; WM_WINDOWPOSCHANGED : wprocTranslator(pCWP.message,'WM_WINDOWPOSCHANGED') ; WM_POWER : wprocTranslator(pCWP.message,'WM_POWER') ; WM_COPYDATA : wprocTranslator(pCWP.message,'WM_COPYDATA') ; WM_CANCELJOURNAL : wprocTranslator(pCWP.message,'WM_CANCELJOURNAL') ; WM_NOTIFY : wprocTranslator(pCWP.message,'WM_NOTIFY') ; WM_INPUTLANGCHANGEREQUEST : wprocTranslator(pCWP.message,'WM_INPUTLANGCHANGEREQUEST') ; WM_INPUTLANGCHANGE : wprocTranslator(pCWP.message,'WM_INPUTLANGCHANGE') ; WM_TCARD : wprocTranslator(pCWP.message,'WM_TCARD') ; WM_HELP : wprocTranslator(pCWP.message,'WM_HELP') ; WM_USERCHANGED : wprocTranslator(pCWP.message,'WM_USERCHANGED') ; WM_NOTIFYFORMAT : wprocTranslator(pCWP.message,'WM_NOTIFYFORMAT') ; WM_CONTEXTMENU : wprocTranslator(pCWP.message,'WM_CONTEXTMENU') ; WM_STYLECHANGING : wprocTranslator(pCWP.message,'WM_STYLECHANGING') ; WM_STYLECHANGED : wprocTranslator(pCWP.message,'WM_STYLECHANGED') ; WM_DISPLAYCHANGE : wprocTranslator(pCWP.message,'WM_DISPLAYCHANGE') ; WM_GETICON : wprocTranslator(pCWP.message,'WM_GETICON') ; WM_SETICON : wprocTranslator(pCWP.message,'WM_SETICON') ; WM_NCCREATE : wprocTranslator(pCWP.message,'WM_NCCREATE') ; WM_NCDESTROY : wprocTranslator(pCWP.message,'WM_NCDESTROY') ; WM_NCCALCSIZE : wprocTranslator(pCWP.message,'WM_NCCALCSIZE') ; WM_NCHITTEST : wprocTranslator(pCWP.message,'WM_NCHITTEST') ; WM_NCPAINT : wprocTranslator(pCWP.message,'WM_NCPAINT') ; WM_NCACTIVATE : wprocTranslator(pCWP.message,'WM_NCACTIVATE') ; WM_GETDLGCODE : wprocTranslator(pCWP.message,'WM_GETDLGCODE') ; WM_NCMOUSEMOVE : wprocTranslator(pCWP.message,'WM_NCMOUSEMOVE') ; WM_NCLBUTTONDOWN : wprocTranslator(pCWP.message,'WM_NCLBUTTONDOWN') ; WM_NCLBUTTONUP : wprocTranslator(pCWP.message,'WM_NCLBUTTONUP') ; WM_NCLBUTTONDBLCLK : wprocTranslator(pCWP.message,'WM_NCLBUTTONDBLCLK') ; WM_NCRBUTTONDOWN : wprocTranslator(pCWP.message,'WM_NCRBUTTONDOWN') ; WM_NCRBUTTONUP : wprocTranslator(pCWP.message,'WM_NCRBUTTONUP') ; WM_NCRBUTTONDBLCLK : wprocTranslator(pCWP.message,'WM_NCRBUTTONDBLCLK') ; WM_NCMBUTTONDOWN : wprocTranslator(pCWP.message,'WM_NCMBUTTONDOWN') ; WM_NCMBUTTONUP : wprocTranslator(pCWP.message,'WM_NCMBUTTONUP') ; WM_NCMBUTTONDBLCLK : wprocTranslator(pCWP.message,'WM_NCMBUTTONDBLCLK') ; WM_KEYFIRST : wprocTranslator(pCWP.message,'WM_KEYFIRST') ; WM_KEYUP : wprocTranslator(pCWP.message,'WM_KEYUP') ; WM_CHAR : wprocTranslator(pCWP.message,'WM_CHAR') ; WM_DEADCHAR : wprocTranslator(pCWP.message,'WM_DEADCHAR') ; WM_SYSKEYDOWN : wprocTranslator(pCWP.message,'WM_SYSKEYDOWN') ; WM_SYSKEYUP : wprocTranslator(pCWP.message,'WM_SYSKEYUP') ; WM_SYSCHAR : wprocTranslator(pCWP.message,'WM_SYSCHAR') ; WM_SYSDEADCHAR : wprocTranslator(pCWP.message,'WM_SYSDEADCHAR') ; WM_KEYLAST : wprocTranslator(pCWP.message,'WM_KEYLAST') ; WM_INITDIALOG : wprocTranslator(pCWP.message,'WM_INITDIALOG') ; WM_COMMAND : begin if HiWord(wParam) = BN_CLICKED then begin GetWindowText(pCWP^.lParam,szWndText,sizeof(szWndText)); wprocTranslator(pCWP^.message,'BN_CLICKED: ' + szWndText); end; end; WM_SYSCOMMAND : wprocTranslator(pCWP.message,'WM_SYSCOMMAND') ; WM_TIMER : wprocTranslator(pCWP.message,'WM_TIMER') ; WM_HSCROLL : wprocTranslator(pCWP.message,'WM_HSCROLL') ; WM_VSCROLL : wprocTranslator(pCWP.message,'WM_VSCROLL') ; WM_INITMENU : wprocTranslator(pCWP.message,'WM_INITMENU') ; WM_INITMENUPOPUP : wprocTranslator(pCWP.message,'WM_INITMENUPOPUP'); WM_MENUSELECT : wprocTranslator(pCWP.message,'WM_MENUSELECT') ; WM_MENUCHAR : wprocTranslator(pCWP.message,'WM_MENUCHAR') ; WM_ENTERIDLE : wprocTranslator(pCWP.message,'WM_ENTERIDLE') ; WM_MENURBUTTONUP : wprocTranslator(pCWP.message,'WM_MENURBUTTONUP') ; WM_MENUDRAG : wprocTranslator(pCWP.message,'WM_MENUDRAG') ; WM_MENUGETOBJECT : wprocTranslator(pCWP.message,'WM_MENUGETOBJECT') ; WM_UNINITMENUPOPUP : wprocTranslator(pCWP.message,'WM_UNINITMENUPOPUP') ; WM_MENUCOMMAND : wprocTranslator(pCWP.message,'WM_MENUCOMMAND') ; WM_CTLCOLORMSGBOX : wprocTranslator(pCWP.message,'WM_CTLCOLORMSGBOX') ; WM_CTLCOLOREDIT : wprocTranslator(pCWP.message,'WM_CTLCOLOREDIT') ; WM_CTLCOLORLISTBOX : wprocTranslator(pCWP.message,'WM_CTLCOLORLISTBOX') ; WM_CTLCOLORBTN : wprocTranslator(pCWP.message,'WM_CTLCOLORBTN') ; WM_CTLCOLORDLG : wprocTranslator(pCWP.message,'WM_CTLCOLORDLG') ; WM_CTLCOLORSCROLLBAR : wprocTranslator(pCWP.message,'WM_CTLCOLORSCROLLBAR') ; WM_CTLCOLORSTATIC : wprocTranslator(pCWP.message,'WM_CTLCOLORSTATIC') ; WM_MOUSEFIRST : wprocTranslator(pCWP.message,'WM_MOUSEFIRST') ; WM_LBUTTONDOWN : wprocTranslator(pCWP.message,'WM_LBUTTONDOWN') ; WM_LBUTTONUP : wprocTranslator(pCWP.message,'WM_LBUTTONUP') ; WM_LBUTTONDBLCLK : wprocTranslator(pCWP.message,'WM_LBUTTONDBLCLK') ; WM_RBUTTONDOWN : wprocTranslator(pCWP.message,'WM_RBUTTONDOWN') ; WM_RBUTTONUP : wprocTranslator(pCWP.message,'WM_RBUTTONUP') ; WM_RBUTTONDBLCLK : wprocTranslator(pCWP.message,'WM_RBUTTONDBLCLK') ; WM_MBUTTONDOWN : wprocTranslator(pCWP.message,'WM_MBUTTONDOWN') ; WM_MBUTTONUP : wprocTranslator(pCWP.message,'WM_MBUTTONUP') ; WM_MBUTTONDBLCLK : wprocTranslator(pCWP.message,'WM_MBUTTONDBLCLK') ; WM_MOUSEWHEEL : wprocTranslator(pCWP.message,'WM_MOUSEWHEEL') ; WM_PARENTNOTIFY : wprocTranslator(pCWP.message,'WM_PARENTNOTIFY') ; WM_ENTERMENULOOP : wprocTranslator(pCWP.message,'WM_ENTERMENULOOP') ; WM_EXITMENULOOP : wprocTranslator(pCWP.message,'WM_EXITMENULOOP') ; WM_NEXTMENU : wprocTranslator(pCWP.message,'WM_NEXTMENU') ; WM_SIZING : wprocTranslator(pCWP.message,'WM_SIZING') ; WM_CAPTURECHANGED : wprocTranslator(pCWP.message,'WM_CAPTURECHANGED') ; WM_MOVING : wprocTranslator(pCWP.message,'WM_MOVING') ; WM_POWERBROADCAST : wprocTranslator(pCWP.message,'WM_POWERBROADCAST') ; WM_DEVICECHANGE : wprocTranslator(pCWP.message,'WM_DEVICECHANGE') ; WM_IME_STARTCOMPOSITION : wprocTranslator(pCWP.message,'WM_IME_STARTCOMPOSITION') ; WM_IME_ENDCOMPOSITION : wprocTranslator(pCWP.message,'WM_IME_ENDCOMPOSITION') ; WM_IME_COMPOSITION : wprocTranslator(pCWP.message,'WM_IME_COMPOSITION') ; WM_IME_SETCONTEXT : wprocTranslator(pCWP.message,'WM_IME_SETCONTEXT') ; WM_IME_NOTIFY : wprocTranslator(pCWP.message,'WM_IME_NOTIFY') ; WM_IME_CONTROL : wprocTranslator(pCWP.message,'WM_IME_CONTROL') ; WM_IME_COMPOSITIONFULL : wprocTranslator(pCWP.message,'WM_IME_COMPOSITIONFULL') ; WM_IME_SELECT : wprocTranslator(pCWP.message,'WM_IME_SELECT') ; WM_IME_CHAR : wprocTranslator(pCWP.message,'WM_IME_CHAR') ; WM_IME_REQUEST : wprocTranslator(pCWP.message,'WM_IME_REQUEST') ; WM_IME_KEYDOWN : wprocTranslator(pCWP.message,'WM_IME_KEYDOWN') ; WM_IME_KEYUP : wprocTranslator(pCWP.message,'WM_IME_KEYUP') ; WM_MDICREATE : wprocTranslator(pCWP.message,'WM_MDICREATE') ; WM_MDIDESTROY : wprocTranslator(pCWP.message,'WM_MDIDESTROY') ; WM_MDIACTIVATE : wprocTranslator(pCWP.message,'WM_MDIACTIVATE') ; WM_MDIRESTORE : wprocTranslator(pCWP.message,'WM_MDIRESTORE') ; WM_MDINEXT : wprocTranslator(pCWP.message,'WM_MDINEXT') ; WM_MDIMAXIMIZE : wprocTranslator(pCWP.message,'WM_MDIMAXIMIZE') ; WM_MDITILE : wprocTranslator(pCWP.message,'WM_MDITILE') ; WM_MDICASCADE : wprocTranslator(pCWP.message,'WM_MDICASCADE') ; WM_MDIICONARRANGE : wprocTranslator(pCWP.message,'WM_MDIICONARRANGE') ; WM_MDIGETACTIVE : wprocTranslator(pCWP.message,'WM_MDIGETACTIVE') ; WM_MDISETMENU : wprocTranslator(pCWP.message,'WM_MDISETMENU') ; WM_ENTERSIZEMOVE : wprocTranslator(pCWP.message,'WM_ENTERSIZEMOVE') ; WM_EXITSIZEMOVE : wprocTranslator(pCWP.message,'WM_EXITSIZEMOVE') ; WM_DROPFILES : wprocTranslator(pCWP.message,'WM_DROPFILES') ; WM_MDIREFRESHMENU : wprocTranslator(pCWP.message,'WM_MDIREFRESHMENU') ; WM_MOUSEHOVER : wprocTranslator(pCWP.message,'WM_MOUSEHOVER') ; WM_MOUSELEAVE : wprocTranslator(pCWP.message,'WM_MOUSELEAVE') ; WM_CUT : wprocTranslator(pCWP.message,'WM_CUT') ; WM_COPY : wprocTranslator(pCWP.message,'WM_COPY') ; WM_PASTE : wprocTranslator(pCWP.message,'WM_PASTE') ; WM_CLEAR : wprocTranslator(pCWP.message,'WM_CLEAR') ; WM_UNDO : wprocTranslator(pCWP.message,'WM_UNDO') ; WM_RENDERFORMAT : wprocTranslator(pCWP.message,'WM_RENDERFORMAT') ; WM_RENDERALLFORMATS : wprocTranslator(pCWP.message,'WM_RENDERALLFORMATS') ; WM_DESTROYCLIPBOARD : wprocTranslator(pCWP.message,'WM_DESTROYCLIPBOARD') ; WM_DRAWCLIPBOARD : wprocTranslator(pCWP.message,'WM_DRAWCLIPBOARD') ; WM_PAINTCLIPBOARD : wprocTranslator(pCWP.message,'WM_PAINTCLIPBOARD') ; WM_VSCROLLCLIPBOARD : wprocTranslator(pCWP.message,'WM_VSCROLLCLIPBOARD') ; WM_SIZECLIPBOARD : wprocTranslator(pCWP.message,'WM_SIZECLIPBOARD') ; WM_ASKCBFORMATNAME : wprocTranslator(pCWP.message,'WM_ASKCBFORMATNAME') ; WM_CHANGECBCHAIN : wprocTranslator(pCWP.message,'WM_CHANGECBCHAIN') ; WM_HSCROLLCLIPBOARD : wprocTranslator(pCWP.message,'WM_HSCROLLCLIPBOARD') ; WM_QUERYNEWPALETTE : wprocTranslator(pCWP.message,'WM_QUERYNEWPALETTE') ; WM_PALETTEISCHANGING : wprocTranslator(pCWP.message,'WM_PALETTEISCHANGING') ; WM_PALETTECHANGED : wprocTranslator(pCWP.message,'WM_PALETTECHANGED') ; WM_HOTKEY : wprocTranslator(pCWP.message,'WM_HOTKEY') ; WM_PRINT : wprocTranslator(pCWP.message,'WM_PRINT') ; WM_PRINTCLIENT : wprocTranslator(pCWP.message,'WM_PRINTCLIENT') ; WM_HANDHELDFIRST : wprocTranslator(pCWP.message,'WM_HANDHELDFIRST') ; WM_HANDHELDLAST : wprocTranslator(pCWP.message,'WM_HANDHELDLAST') ; WM_PENWINFIRST : wprocTranslator(pCWP.message,'WM_PENWINFIRST') ; WM_PENWINLAST : wprocTranslator(pCWP.message,'WM_PENWINLAST') ; WM_COALESCE_FIRST : wprocTranslator(pCWP.message,'WM_COALESCE_FIRST') ; WM_COALESCE_LAST : wprocTranslator(pCWP.message,'WM_COALESCE_LAST') ; WM_DDE_FIRST : wprocTranslator(pCWP.message,'WM_DDE_FIRST') ; WM_DDE_TERMINATE : wprocTranslator(pCWP.message,'WM_DDE_TERMINATE') ; WM_DDE_ADVISE : wprocTranslator(pCWP.message,'WM_DDE_ADVISE') ; WM_DDE_UNADVISE : wprocTranslator(pCWP.message,'WM_DDE_UNADVISE') ; WM_DDE_ACK : wprocTranslator(pCWP.message,'WM_DDE_ACK') ; WM_DDE_DATA : wprocTranslator(pCWP.message,'WM_DDE_DATA') ; WM_DDE_REQUEST : wprocTranslator(pCWP.message,'WM_DDE_REQUEST') ; WM_DDE_POKE : wprocTranslator(pCWP.message,'WM_DDE_POKE') ; WM_DDE_EXECUTE : wprocTranslator(pCWP.message,'WM_DDE_EXECUTE') ; WM_APP : wprocTranslator(pCWP.message,'WM_APP') ; WM_USER : wprocTranslator(pCWP.message,'WM_USER') ; end; **) end; function CreateHook: integer; stdcall; begin hWndProcHook := SetWindowsHookEx(WH_CALLWNDPROC, @CallWndProc, hInstance, 0); result := hWndProcHook; end; function DeleteHook: integer; stdcall; begin result := Ord(UnhookWindowsHookEx(hWndProcHook)); end; function StartUp:integer; stdcall; begin result:=0; end; procedure DLLEntryPoint(dwReason: DWORD); begin case dwReason of DLL_PROCESS_ATTACH: ; //-- IPC init DLL_PROCESS_DETACH: ; //-- IPC release end; end; exports CreateHook, DeleteHook; begin IsMultithread := true; DisableThreadLibraryCalls(hInstance); DllProc := @DLLEntryPoint; DLLEntryPoint(DLL_PROCESS_ATTACH); end.
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103 03211611111604403209711003210010110903210010510103 2108101116122 11610103209010110510810103206711110010103210511003 2068101108112 10410503210310111509910411410510109810111003211910 5114100046 |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |