Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Fremden Button drücken (https://www.delphipraxis.net/155622-fremden-button-druecken.html)

DeddyH 1. Nov 2010 13:18

AW: Fremden Button drücken
 
Wer hat denn jetzt den Code zum Ermitteln des Handles geschrieben? Du selbst, oder hast Du Dir den generieren lassen?

WizoHulk 1. Nov 2010 13:20

AW: Fremden Button drücken
 
dieser Code stammt bis auf sendMessage...
von x-spy

Delphi-Quellcode:
var
  LWnd: HWND;
begin

  LWnd := FindWindow('#32770', 'Realtek HD Audio-Manager');
  LWnd := FindWindowEx(LWnd, 0, '#32770', nil);
  LWnd := GetDlgItem(LWnd, 65535);

  if LWnd <> 0 then
  begin
    sendmessage(LWnd,BM_CLICK,VK_MENU,0);
  end;
end;
und bei LWnd := GetDlgItem(LWnd, 65535);
setzt er das handle auf null..

DeddyH 1. Nov 2010 13:23

AW: Fremden Button drücken
 
Dann wird das Ding wohl nicht gefunden. Ich habe leider das Realtek-Dingens nicht zur Verfügung, sonst hätte ich mal geschaut, wie man da rankommen könnte.

Luckie 1. Nov 2010 13:37

AW: Fremden Button drücken
 
Das Handle ist immer unterschiedlich, weil es ja von Windows benötigt wird, um die Fenster eindeutig zu identifizieren. Und ein Handle wird bei jedem Programmstart neu vergeben.

DeddyH 1. Nov 2010 13:49

AW: Fremden Button drücken
 
Stimmt. Und? :gruebel:

Luckie 1. Nov 2010 13:52

AW: Fremden Button drücken
 
Ich wollte es nur mal erwähnt haben, da WizoHulk anscheinend die nötigen Hintergrundinformationen fehlen.

DeddyH 1. Nov 2010 13:56

AW: Fremden Button drücken
 
Achso. Mich wundert ja auch, dass er bei einem BM_CLICK ein VK_MENU als wParam übergibt. Sei' s drum, ich an seiner Stelle würde es noch einmal mit WinSpy zusätzlich zu X-Spy probieren, ansonsten könnte man ja mal mit der Keule ran (EnumChildWindows etc.).

WizoHulk 1. Nov 2010 14:50

AW: Fremden Button drücken
 
ich hatte damals mal mit threadid gearbeitet und attach threadinpud.
aber das bringt mir glaub ich auch nicht viel, da er das Handle im GetdlgItem() ja nicht findet


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.
Seite 2 von 2     12   

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