AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi RegisterHotKey gibt False zurück...
Thema durchsuchen
Ansicht
Themen-Optionen

RegisterHotKey gibt False zurück...

Ein Thema von Carlo91 · begonnen am 14. Nov 2007 · letzter Beitrag vom 15. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#1

RegisterHotKey gibt False zurück...

  Alt 14. Nov 2007, 17:03
Hi,
ich versuch mal mein problem zu beschreiben, also ich programmiere an einer dll die ich in einen anderen prozess injecte diese dll führt die API "RegisterHotKey" aus mit dem fensterhandle des hauptfensters vom prozess (handle hol ich mir per FindWindow das funzt alles wunderbar handle ist NICHT 0). Da meine dll kein eigenes fenster hat nutz ich das hauptfenster des prozesses um an die Message WM_HOTKEY zu kommen habe ich eine hook auf die API "GetMessageA". So jetzt zum eigendlichen problem RegisterHotKey gibt immer false zurück wenn ich das fensterhandle vom hauptfenster als parameter über geb(wenn ich das gleiche in einer VCL Anwendung machen funzt alles). Warum funzt es mit dem hauptfenster einer selbst programmierten VCL anwendung aber nicht mit dem hauptfenster einer anderen anwendung?

P.S. ich hoffe ich hab mein problem gut erklärt... und das einer eine antwort/lösung für mein problem hat...

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#2

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 18:12
*push*
Thorben
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 18:18
Hast du dich jemals gefragt, welche Funktion GetLastError() und SysErrorMessage() erfüllen?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#4

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 19:10
Hi,
sorry hätte ich vileicht schreiben sollen... GetLastError gibt 0 zurük und SysErrorMessage gibt somit "Der Vorgang wurde erfolgreich beendet"...

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 21:21
Moin Carlo,

wie fragst Du den Rückgabewert von RegisterHotkey ab?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#6

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 21:26
Hi,
ich weiß jetzt zwar nicht wofür das wichtig ist aber naja...

MessageBoxA(0, PChar(IntToStr(Integer(RegisterHotKey(hFenster, lpID, MOD_CONTROL, $56)))), '', 0);

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 21:40
Moin Carlo,

ich hatte die Befürchtung, dass Du auf = true prüfst, was auch bei Erfolg dann zu einem "Fehler" führen könnte.

Wenn ich das richtig sehe, registrierst Du CTRL+V, als die für "Einfügen" übliche Tastenkombination.
Dass das schiefgehen kann, kann ich nachvollziehen.
Teste doch mal, was GetLastError zurückgibt, wenn Du es dirket nach einem Fehlschlag aufrufst:

if not RegisterHotkey(...) then es könnte nämlich gut sein, dass LastError ansonsten wieder auf 0 gesetzt wurde, wenn vorher weitere API-Funktionen aufgerufen werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#8

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 21:45
Zitat von Carlo91:
Hi,
sorry hätte ich vileicht schreiben sollen... GetLastError gibt 0 zurük und SysErrorMessage gibt somit "Der Vorgang wurde erfolgreich beendet"...

MfG Carlo
Hi, zuviel zum thema GetLastError.... und ja es ist der hotkey STRG + V aber in einer normalen VCL anwendung kann ich STRG + V auch als HotKey per Registerhotkey registrieren.

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 21:51
Moin Carlo,

das hatte ich durchaus gelesen, aber bei der Konstruktion, die Du da zur Abfrage des Rückgabewertes aufgebaut hast, habe ich so meine Zweifel, dass Du wirklich den durch RegisterHotkey gesetzten LastError erwischst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: RegisterHotKey gibt False zurück...

  Alt 15. Nov 2007, 21:52
Hast du jetzt mal GetLastError direkt nach RegisterHotKey aufgerufen?

@CS: Denke ich auch. Wahrscheinlich ist das der Fehlercode der von MessageBox gesetzt wird.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es 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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 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