Tastendruck simulieren & abfragen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

SimonSimCity hat geschrieben:Für mich sieht das aus wie eine Ente.. Was sagt ihr?
Zustimmung.

@ Kaeru: Was heißt "trigger happy"? Ich kenne nur "trigger = Auslöser", "happy = fröhlich", damit komme ich aber nicht weit...
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

"schießwütig" wäre die deutsche entsprechung, hier im sinne von mit worten schießen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
SimonSimCity
Beiträge: 132
Registriert: 14.01.2007 00:49

Beitrag von SimonSimCity »

manunidi hat geschrieben:Hi SimonSimCity!
Du bist auch im clickexeboard aktiv, oder irre ich mich da^^?
Ja, ich bin auch einer, der von ClickEXE auf was besseres wechselt.
Warst/Bist du nicht auch einer von den Typen, die da drüben für Aufruhr sorgen, sobald einer was von ´ner anderen Programmiersprache sagt?
Dein NicName kommt mir so bekannt vor...

CX war bis jetzt nur für Tastendrücken und Warten gut...
Aber da ich jetzt nicht mehr so lange warten will, hab ich mich an euch gewendet um diese Arbeit mit Hilfe von euch und PB zu beschleunigen.
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Auf meiner Seite www.cornycountry.de findest Du unter Downloads ein Programm namens KeykLOCK. Das Programm ist für Dich vielleicht uninteressant, aber die Sourcen des Programms für PureBasic 4 sind ebenfalls zum Download freigegeben.

Das Programm fragt eine Taste ab und simuliert den Druck einer anderen, also eigentlich genau das was Du willst. Musst es nur (ggf. mit Hilfe) entsprechend erweitern.

:allright: Willkommen hier!

Gruß
René
Benutzeravatar
SimonSimCity
Beiträge: 132
Registriert: 14.01.2007 00:49

Das war leider nicht der Nagel auf den Kopf...

Beitrag von SimonSimCity »

Bei dem Beispiel "SendKeys" muss ich aber ein Programm angeben!
Ich hätte gerne ein Programm, wo ich einfach die Zeichen angebe und er simmuliert sie (Immer beim aktiven Programm).
So wie als wenn ich die Tasten selber drücken würde.

Außerdem ist das Beispiel für englische Benutzer und Windows2k optimiert.

Hat jemand ein gutes Beispiel nach meinen Vorstellungen? :|

Ich will ja nicht sagen, dass eure Beispiele schlecht waren (kann ich auch nicht richtig beurteilen), aber sie entsprachen nicht meinen Vorstellungen. (Lag wohl an meiner Ausdrucksweise.)
Benutzeravatar
SimonSimCity
Beiträge: 132
Registriert: 14.01.2007 00:49

Beitrag von SimonSimCity »

Ich muss mich berichtigen:

Die Datei "SendKeys.pb" hab ich mit einem schleichten Beispiel gemeint.

Die Datei "SendKeys_to_PB-Editor.pb" ist genau das, was ich gesucht habe. Das mit der Maus wird warscheinlich auch nicht schlecht sein.
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Ich glaube, dass für das, was du vorhast wohl eher Auto-It in Frage kommt. Diese Sprache ist mittlerweile recht groß, freeware, stabil und für Sendkey-Geschichten optimiert.

Da ersparst du dir teilweise ne Menge Gefrickel mit.
Erfahrung habe ich da auch schon mit gesammelt und ich habe damit eine recht aberwitzige Aufgabe zügig meistern können.

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
SimonSimCity
Beiträge: 132
Registriert: 14.01.2007 00:49

Beitrag von SimonSimCity »

Ich hab das auch schon ausprobiert, aber die haben ein großes Problem:

Die Zeitabstände sind immer 200millisekunden.

Außerdem will ich nicht ein "Warte ... Sekunden", sondern ein "Warte bis Fenster ... aktiv".
Das konnten die mir auch nicht bieten!
Benutzeravatar
SimonSimCity
Beiträge: 132
Registriert: 14.01.2007 00:49

Beitrag von SimonSimCity »

Dies ist ein Programm zum herausfinden der aktuellen Mausposition.

Falls jemand keinen Bock hat, das neu zu proggen...
Eine nützliche Besonderheit:
Es liegt immer oben auf.

Code: Alles auswählen

Enumeration
  #Window1
EndEnumeration

OpenWindow(#Window1, 5, 5, 100, 55, "Maus-Position", #PB_Window_BorderLess)
  StickyWindow(#Window1, #True)

CreateGadgetList(WindowID(#Window1))

ButtonGadget(0, WindowWidth(#Window1)-20-2, 2, 20, 20, "X")
TextGadget(1, 2, 2, WindowWidth(#Window1)-20-2*2, 15, GetWindowTitle(#Window1))
TextGadget(2, 5, 20, WindowWidth(#Window1)-10, 15, "")
TextGadget(3, 5, 40, WindowWidth(#Window1)-10, 15, "")

Define WindowEvent.l
Repeat
  WindowEvent=WaitWindowEvent(100)
  Select WindowEvent
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 0
          Break
      EndSelect
    Case #PB_Event_CloseWindow
      Break
  EndSelect
  
  ExamineDesktops()
  
  SetGadgetText(2, "X: "+Str(DesktopMouseX()))
  SetGadgetText(3, "Y: "+Str(DesktopMouseY()))
ForEver

End
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

SimonSimCity hat geschrieben:Außerdem will ich nicht ein "Warte ... Sekunden", sondern ein "Warte bis Fenster ... aktiv".
Das konnten die mir auch nicht bieten!
...sagmal beschäftigst du dich auch mit dem, was ich dir da schicke, oder ignorierst du es einfach?! :? :roll:
WinActive hat geschrieben:Checks to see if a specified window exists and is currently active.
WinActive ( "title" [, "text"] )
WinWait hat geschrieben:Pauses execution of the script until the requested window exists.
WinWait ( "title" [, "text" [, timeout]] )
WinWaitActive hat geschrieben:Pauses execution of the script until the requested window is active.
WinWaitActive ( "title" [, "text" [, timeout]] )
WinWaitNotActive hat geschrieben:Pauses execution of the script until the requested window is not active.
WinWaitNotActive ( "title" [, "text" [, timeout]] )
WinWaitClose hat geschrieben:WinWaitClose ( "title" [, "text" [, timeout]] )
Also, was willst du mehr? Ein Blick in die Hilfe und *Schwupps* ;)

Gr33tz
Tafkadasom2k5


//Edit:
Sagmal, bekomme ich nochmal ne Rückmeldung? Würde mich schonmal interessieren... :? Bin nur neugierig... :mrgreen:
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Antworten