Hotkeylösung nicht ganz richtig!
-
Swordfish schrieb:
T0bi schrieb:
Greetz Tobi
Unterlasse es, mich schlecht zu kopieren!
cheers, Swordfish
Wat denn hast da nen Patent drauf gelegt? oO
"Gruß Tobi" find ich zu schlicht, Greetz klingt viel coola *g*, außerdem schreibst du cheers ( Guten Durst! ).
-
Swordfish schrieb:
Naja, woher soll denn Dein Programm wissen, das es, wenn du in einem Explorer-Fenster das
C:\listetStrg + Ndürckst einen neuen Ordner inC:\erstellen soll?
Wo soll es einen neuen Ordner erstellen, wenn - Hausnummer - Notepad den Fokus hält und ichStrg + Ndrücke? Soll es dann überhaupt einen Ordner anlegen?Wie mir scheint fehlen Deinen Überlegungen ein paar Eingaben und Entscheidungswege. Ein Hook - wie von irgendjemandem vorgeschlagen - würde dieses Problem in keiner Weise beheben.
cheers, Swordfish
Alda hat der nen Hass auf mich oO
[EDIT 1] S0rry für Doppelpost
[EDIT 2] @TS, wie du schon sagst "Systemweit", werden diese Programme mit Globalen Hooks arbeiten.
Greeting Tobi -.-
-
Angelus2008 schrieb:
Entscheidungen ja aber OHNE eingaben oO wäre ja schwachsinnig wenn das Programm im hintergrund läuft un man Strg + n drückt, sich ein fenster aufmacht wo man den Pfad eingibt, ein bisschen unlogisch oder?
"Eingabe" bedeutet lediglich "Futter für Dein Programm". Ich habe nirgends von einer Benutzereingabe gesprochen. Dein Programm - Du - musst eben herausfinden, "wo" sich der User zu dem Augenblick befindet, in dem Dein Programm den Hotkey aufschnappt.
Angelus2008 schrieb:
Es gibt doch schon Programme die Hotkeys definieren SYSTEMWEIT egal wo man ist, es wird der hotkey auch an dem Ort wo man sich befindet ausgeführt, wie in drei-teufels-namen machen denn die das?
Was soll die schwammige Aussage "der Hotkey wird dort ausgeführt, wo man sich befindet" bedeuten? Versuch das mal in Code auszudrücken und Du wirst merken, dass das nicht so einfach ist... Wie schon gesagt: Dein Programm muss feststellen (können) wo sich der Benutzer im Moment befindet und entsprechend reagieren - eben den neuen Ordner als Unterordner des eben zu ermittelnden aktuellen Ordners erstellen.
cheers, Swordfish
OT @ T0bi: Bis vor noch nicht all zu langer Zeit schloss ich meine Posts noch mit "greetz, Swordfish". Irgendjemand hat irgendwann gemeint, so ein verhunztes Wort (greetz) tue ihm in den Augen weh, worauf ich meinen Habitus geändert habe. Falls Du mich zu diesen Zeiten (noch) nicht im Forum gelesen haben solltest - was ich mir schwer vorstellen kann - sei Dir verziehen. Es sah für mich einfach vieeeel zu sehr nach MIR aus; Ich wertete es als Verballhornung.
T0bi schrieb:
Alda hat der nen Hass auf mich oO
Die leicht säuerliche Grundstimmung mit der Dir ab und an das eine oder andere Forenmitglied begegnet hast Du Dir selbst zuzuschreiben - ich möchte nur kurz an Deine Threadorgie zu Hooks & Deteurs erinnern. Desweiteren begegnest Du oft "alten Hasen" mit einer Haltung, die wie ein "jaja das und das ist doch eh so (ich muss mir nur einbilden, dass es so ist wie ich will) ... ich weiß es sowieso besser ... hat denn keiner eine Ahnung!?" rüberkommt. Auch in diesem Thread gehst Du nicht auf das eigentliche Problem des OP ein (der Ordner wird immer relativ zum working directory seines Programms erstellt, und nicht wie von zauberhand im "richtigen Ordner"(tm)), sondern denkst Du kannst mit einem k3wl3n "Ey da friss Hooks oder stirb" punkte im 1337-sein sammeln. Denk mal darüber nach.
-
Angelus2008 schrieb:
Es gibt doch schon Programme die Hotkeys definieren SYSTEMWEIT egal wo man ist, es wird der hotkey auch an dem Ort wo man sich befindet ausgeführt, wie in drei-teufels-namen machen denn die das?
Viele Programme bearbeiten Tastenkombinationen in ihrer "WinProc" via WM_KEYDOWN, WM_CHAR usw. und nicht via RegisterHotKey / WM_HOTKEY.
Deshalb, in drei-teufels-namen (
), funktionieren solche Programme.cheerz, coolkey

-
ROFL
cheers, Swordfish
-
coolkey schrieb:
Angelus2008 schrieb:
Es gibt doch schon Programme die Hotkeys definieren SYSTEMWEIT egal wo man ist, es wird der hotkey auch an dem Ort wo man sich befindet ausgeführt, wie in drei-teufels-namen machen denn die das?
Viele Programme bearbeiten Tastenkombinationen in ihrer "WinProc" via WM_KEYDOWN, WM_CHAR usw. und nicht via RegisterHotKey / WM_HOTKEY.
Deshalb, in drei-teufels-namen (
), funktionieren solche Programme.cheerz, coolkey

Das würde aber genau zu den gleichen Ergebnissen führen, die ich schon habe da ich immernoch ermitteln muss, wo sich der User gerade auf der Oberfläche von Windows befindet.
@Swordfish: wenn ich meine Aussage in code hätte fassen können, wäre ich dann noch hier un hätte ich dann das Problem? Oo
Es wäre nett wenn ich Vorschläge in evtl Codeform bekommen könnte, bessergesagt verlinkungen zu irgendwelchen Referenzen da ich, wie du ja siehst, keinen schimmer habe wie ich es ermitteln soll wo ich mich gerade befinde!!!
-
kannste knicken, wie schon richtig gesagt wurde, ist deine ganze idee völlig undurchdacht.
-
asdca schrieb:
kannste knicken, wie schon richtig gesagt wurde, ist deine ganze idee völlig undurchdacht.
Wenn sie undurchdacht wäre, würde ich mir dann gedanken darüber machen und nach einer Möglichkeit suchen wie ich das bewerkstelligen kann? Und wäre ich sonst hier un bitte um Hilfe? Oo
-
Swordfish schrieb:
Angelus2008 schrieb:
Entscheidungen ja aber OHNE eingaben oO wäre ja schwachsinnig wenn das Programm im hintergrund läuft un man Strg + n drückt, sich ein fenster aufmacht wo man den Pfad eingibt, ein bisschen unlogisch oder?
"Eingabe" bedeutet lediglich "Futter für Dein Programm". Ich habe nirgends von einer Benutzereingabe gesprochen. Dein Programm - Du - musst eben herausfinden, "wo" sich der User zu dem Augenblick befindet, in dem Dein Programm den Hotkey aufschnappt.
Angelus2008 schrieb:
Es gibt doch schon Programme die Hotkeys definieren SYSTEMWEIT egal wo man ist, es wird der hotkey auch an dem Ort wo man sich befindet ausgeführt, wie in drei-teufels-namen machen denn die das?
Was soll die schwammige Aussage "der Hotkey wird dort ausgeführt, wo man sich befindet" bedeuten? Versuch das mal in Code auszudrücken und Du wirst merken, dass das nicht so einfach ist... Wie schon gesagt: Dein Programm muss feststellen (können) wo sich der Benutzer im Moment befindet und entsprechend reagieren - eben den neuen Ordner als Unterordner des eben zu ermittelnden aktuellen Ordners erstellen.
cheers, Swordfish
OT @ T0bi: Bis vor noch nicht all zu langer Zeit schloss ich meine Posts noch mit "greetz, Swordfish". Irgendjemand hat irgendwann gemeint, so ein verhunztes Wort (greetz) tue ihm in den Augen weh, worauf ich meinen Habitus geändert habe. Falls Du mich zu diesen Zeiten (noch) nicht im Forum gelesen haben solltest - was ich mir schwer vorstellen kann - sei Dir verziehen. Es sah für mich einfach vieeeel zu sehr nach MIR aus; Ich wertete es als Verballhornung.
T0bi schrieb:
Alda hat der nen Hass auf mich oO
Die leicht säuerliche Grundstimmung mit der Dir ab und an das eine oder andere Forenmitglied begegnet hast Du Dir selbst zuzuschreiben - ich möchte nur kurz an Deine Threadorgie zu Hooks & Deteurs erinnern. Desweiteren begegnest Du oft "alten Hasen" mit einer Haltung, die wie ein "jaja das und das ist doch eh so (ich muss mir nur einbilden, dass es so ist wie ich will) ... ich weiß es sowieso besser ... hat denn keiner eine Ahnung!?" rüberkommt. Auch in diesem Thread gehst Du nicht auf das eigentliche Problem des OP ein (der Ordner wird immer relativ zum working directory seines Programms erstellt, und nicht wie von zauberhand im "richtigen Ordner"(tm)), sondern denkst Du kannst mit einem k3wl3n "Ey da friss Hooks oder stirb" punkte im 1337-sein sammeln. Denk mal darüber nach.
da wurde aber einer von einem mit einem sehr hohen Sprachniveu gebashed

Mit höflichen Grüßungen
markuso
(ich hoffe das gibt es noch nicht)
-
Ich freu mich das mein Beitrag euch so sehr amüsiert oder sonst was aber irgendwie vergessen manche sogar mein anderes Problem xD und mein hauptsächliches Problem was ich ziemlich schade finde, denn bisher habe ich nur erfahren dass es mit Hooks geht / oder doch nicht geht, meine Variante vollkommen unüberdenkbar war und alle bis jetzt nur sagen das ich es knicken kann un net so einfach ist oO.
-
Angelus2008 schrieb:
[...] bisher habe ich nur erfahren dass es mit Hooks geht / oder doch nicht geht [...]
Die Methode, wie Du dich über Tastendrücke informierst hat nichts mit deinem Problem zu tun.
Du musst "nur" herausfinden, was der Benutzer macht... Ist das Fenster mit dem Fokus der Explorer: bingo. Dann noch den aktuell angezeigten Pfad rausfinden und 'nen Ordner erstellen... Ist das Fenster mit dem Fokus Paint tut dein Programm eben genau nichts.
cheers, Swordfish
-
Eben und dieses "nur" das wollt ich hier eben gerne erfahren, deswegen bin ich um herraus zufinden was dahinter steckt un da es genug andere Leute gibt die sich 1. besser auskennen un 2. vor so einem Problem bestimmt auch schonmal standen, hab ich gehofft Lösungen zu finden. Weil das was du gerade geschrieben hast bei Google zu suchen, ist ein wenig sinnlos! Code zu suchen um herraus zufinden wie es weiter geht schon eher.
Danke trotzdem für die Mühen.
-
Eben und dieses "nur" das wollt ich hier eben gerne erfahren, deswegen bin ich um herraus zufinden was dahinter steckt un da es genug andere Leute gibt die sich 1. besser auskennen un 2. vor so einem Problem bestimmt auch schonmal standen, hab ich gehofft Lösungen zu finden. Weil das was du gerade geschrieben hast bei Google zu suchen, ist ein wenig sinnlos! Code zu suchen um herraus zufinden wie es weiter geht schon eher.
Danke trotzdem für die Mühen.
-
Eben und dieses "nur" das wollt ich hier eben gerne erfahren, deswegen bin ich um herraus zufinden was dahinter steckt un da es genug andere Leute gibt die sich 1. besser auskennen un 2. vor so einem Problem bestimmt auch schonmal standen, hab ich gehofft Lösungen zu finden. Weil das was du gerade geschrieben hast bei Google zu suchen, ist ein wenig sinnlos! Code zu suchen um herraus zufinden wie es weiter geht schon eher.
Danke trotzdem für die Mühen.
P.S. Ich glaub du hast meinen Eröffnungsbeitrag nicht ganz gelesen! @Swordfish
-
Sry für 3 Fachpost, mein internet wollte nich so wie ich wollte ^^, kann also 2 mal gelöscht werden.
-
Wenn du heraus finden willst, welches Fenster gerade den Focus hat, benutz doch GetForegroundWindow( ), mit dem Handle kannst du dir ja dann alle Infos holen die du brauchst um weiter zu machen.
P.S: @mArKusO, mit einen Sprachniveau, was dir fehlt!
Gruß Tobi
-
Danke werd mich ranmachen und suchen. Vielen dank euch
-
T0bi schrieb:
P.S: @mArKusO, mit einen Sprachniveau, was dir fehlt!
ROFL ne, den Dativ bitte...
cheers, Swordfish
-
T0bi schrieb:
Wenn du heraus finden willst, welches Fenster gerade den Focus hat, benutz doch GetForegroundWindow( ), mit dem Handle kannst du dir ja dann alle Infos holen die du brauchst um weiter zu machen.
GetForeGroundWindow liefert nur das Fenster, dass im Vordergrund liegt. Der Focus wird je Eingabe-Queue separat verwaltet. Sofern Threads sich nicht eine Eingabe-Queue teilen, kann man sagen, dass jeder Thread sein eigenes Focus Fenster hat.
Folgerichtig arbeitet GetFocus nicht über Threadgrenzen hinweg, außer man verbindet die Eingabe-Queues.
-
Hm stimmt, ich bin davon ausgegangen, dass man halt immer mit dem fordergrund-Fenster arbitet, doch was liefert dann GetForegroundWindow, wenn ich mehrere TOPMOST Fenster habe?