Autor |
Beitrag |
Black Rider
      
Beiträge: 21
|
Verfasst: Mi 26.12.07 03:09
Hi zusammen
Wie kann man auf andere Programme zugreifen, zb: Skype?
Ich will was machen damit ich n Button anklicken kann (in meinem Prog) und dann wird ne Konferenz erstellt mit den ausgewühlten Leuten, oder das wenn einer rausfliegt das der automatisch wieder eingeladen wird etc. , wie kann ich das machen? bzw. geht das überhaupt?
MfG Black Rider Moderiert von Christian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 26.12.2007 um 11:12
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: Mi 26.12.07 03:38
such mal nach
FindWindow
FindWindowEx
GetWindow
SendMessage
PostMesage
benutzte diese befehle mal um ein anderes Programm fernzusteuern, das war aber noch unter Windows 98
Unter XP könnten die aber probleme machen, da würde gleub irgendwas gedreht.
Es sind auch nicht mehr alle Befehle in der Delphi Hilfe von D7 beschrieben, allerdings sind sie noch in der Windows.pas drinnen.
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|
Black Rider 
      
Beiträge: 21
|
Verfasst: Mi 26.12.07 04:28
Öhm.. und wie kann ich so dem Programm Befehle mitteilen?
Hab hier noch was gefunden: www.informatik.fh-wi...dv06/skype1/API.html , kann mir das vll. helfen? ^^
Ich bin nun 4 tage weg also ned wundern das ich ned zurückschreibe, würde mich jedoch sehr über n paar antworten freuen
Wünsche noch schöne Festtage.
LG Black Rider
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: Mi 26.12.07 05:45
Skpe hat eine eingebaute API Schnittstelle, das vereinfacht die sache natürlich ungemein.
Dazu musst du aber diese API kennen, und wissen welche befehle, bzw funktionen sie zur verfügung stellt.
Am besten mal nach ''Skype API'' googeln, oder sich auf deren Homepages schlau machen.
Villeicht gibts ja fertige Units für Delphi die dir die Schnittstelle ansprechen.
Edit:
hab grad selbst mal danach Gegoogelt, bin in richtung Delphi zwar auf einige infos gestossen, habe aber nix fertiges gefunden. Hier muss man evtl mal nen C oder PHP Code zerpflücken und sich eine eigene Unit basteln.
Wär das villeicht ein Projekt für die Freeware oder gemeinschaftssparte ?
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Do 27.12.07 10:55
also bei der letzjährigen CodeRage gab ein eine Session zum Thema Skype ansteuern. Die Oberfläche von Skype ist nämlich in Delphi geschrieben, deswegen ist die Skype Api auch recht "Delphi-Freundlich" !
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 27.12.07 11:01
Hi,
vielleicht ist das hier auch nützlich:
www.drbob42.com/examines/examin75.htm
Gruß
rd3
|
|
Black Rider 
      
Beiträge: 21
|
Verfasst: Fr 28.12.07 14:54
Hi zusammen
Danke für die Antworten, n freewareprogramm sollte es eigentlich nicht werden, wollte es erstmals nur fuer mich machen da ich sowas noch nie gemacht habe und sowieso erst seit nem halben Jahr in Delphi Progge. Deswegen habe ich in API auch noch keinen blassen.
Habe aba noch was gutes gefunden:
blogs.teamb.com/deep...noy/2005/06/30/20055
Dort mal die Zip runterladen.
Soweit ich das verstanden habe ist das schon n code womit man nur noch die api befehle da im programm eintippen muss?? Das waehre genial *g*. Gibt es irgend eine möglichkeit sich all diese api befehle auflisten zu lassen oder muss man die suchen? Hab schon bisel gegoogelt aba nix richtiges gefunden. Ich bräuchte eigentlich nur folgende Befehle:
-Auflegen
-Jemanden anrufen
-Jemanden in ne Konferenz einladen
-Jemanden aus der Konf kicken
-Kontaktliste auslesen
-Auslesen wer gerade in der Konf ist (damit das Programm automatisch wieder anruft falls einer aus der Konferenz fliegt)
Was fürn Programm ich eigentlich machen will:
Da ich viel bf 2142 über Skype Zocke und ich da n bug drin habe das ich immer aus dem Game rausfliege wenn ich über alt-tab rein und raus gehe, wollte ich mir eben was Proggn damit ich eben ned immer rausfliege um leute einzuladen,anzurufen etc.
Wie ds Prgramm funktionieren soll habe ich schon im Kopf, das einzige was noch fehlt is eben wie ich diese da oben aufgelisteten Funktionen hinkriege, ich hoffe jemand kann mir da bisel helfen, bzw. erklähren.
Wünsche noch einen schönen Tag.
MfG Black Rider
|
|
Black Rider 
      
Beiträge: 21
|
Verfasst: Fr 28.12.07 16:44
Hi ^^
Habe die API Befehle nun gefunden, die findet man hier developer.skype.com/Docs/ApiDoc
unter Commands.
Jetzt is eigentlich nurnoch eins das ich wissen muss, wie kombiniere ich diese API Befehle, zb: developer.skype.com/Docs/ApiDoc/GET_CALL
mit diesem vorgefertigten Programm (voriger Post)? Gibts da vll. n gutes API Tutorial das für mich empfehlenswert währe damit ich das bisel besser verstehe?(Am besten auf Deutsch..Englisch geht aber notfalls auch)
MfG Black Rider
|
|
Meho
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 06.02.08 23:47
Hallo zusammen ^^,
ich hab ein ähnliches Problem. Ich habe ein kleines Tool was eigentlich nur eine Tabelle enthält, worin die Anzahl an Spielern auf einen Server ausgegeben wird. Also der Server fasst 3500 Personen und ich bin die 3501 und komme nicht drauf. Wenn in der Liste nun angezeigt wird „ Servername 1 „ , d.h. 1 platz ist frei, muss man normalerweise mit alt TAB zum Spiel wechseln und dort auf connect klicken. Da ich kein bock hab 15 min auf die Liste zu starren, wann den endlich was frei wird, wollte ich das automatisieren. Eigentlich soll mein Prog, nur die Liste in dem anderem Tool auswerten und bei „freien Plätzen > 0“ zum Spiel wechseln und klicken.
Hört sich einfach an, für einen kleinen Noob wie mich ist das aber kompliziert. Was ein API ist hab ich raus gefunden, da es sich aber um ein kleines unbekanntes Tool handelt wird es dafür kein API geben, oder?
Ich hab Delphi 7 und konnte mit den Sachen die ich in der Hilfe unter „FindWindow“ und „GetWindow“ gefunden hatte nicht viel anfangen. Da ging es mehr um Mediaplayer. Kann mir jemand helfen wie ich so was anfange?
Gruß meho
Ha hab nach ca 1 1/2 h mal was gefunden was auch in der delphi hilfe ist. >>"handl"<<
text in der hilfe:
"Die Eigenschaft Handle gibt das Fenster-Handle des zugrundeliegenden Microsoft Windows-Bildschirmobjekts zurück. Verwenden Sie die Eigenschaft Handle, um die VCL-API zu umgehen und direkt auf das zugrundeliegende Fenster zuzugreifen."
die befehle getwindow oder findwindow hab ich im inet schon in anderen codes gesehen, nur in der elphi hilfe find ich die net und mit den codes im inet kann ich nichts anfangen ! 
Zuletzt bearbeitet von Meho am Do 07.02.08 02:04, insgesamt 1-mal bearbeitet
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: Do 07.02.08 02:01
du musst die controls über findwindow suchen, und dann mit messages abfragen.
genaueres kann ich aber nur sagen wenn ich sehe um welche controls es sich dabei handelt.
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|
Meho
Hält's aus hier
Beiträge: 4
|
Verfasst: Do 07.02.08 02:08
Danke für die Antwort!
ABER > BAHNHOF <
was sind controls ?
sorry ich hab doch schon gesagt ich hab von delphi und allgemein vom coden nicht viel ahnung!
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: Do 07.02.08 02:15
man muss wissen, auf was man zugreift.
Buttons, Listboxen......
das kann man mit zb Winspy oder ähnlichen programmen rausfinden.
Früher war bei Delphi Winsight dabei, der die strukturen der Programme angezeigt hatte, so konnte man relativ leicht rausfinden wie man sich durch die componenten, bzw controls durchhangeln musste.
willst du zb einen Button in einem anderen Programm anklicken, muss man meistens zuvor das Hauptfenster dieses Programmes suchen, und von dort aus dann den Button.
guck zb mal hier
www.delphi-forum.de/viewtopic.php?t=80114
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|
Meho
Hält's aus hier
Beiträge: 4
|
Verfasst: So 10.02.08 16:15
uff das winspy schein sehr nützlich, zumindesstens sind alle anderen in den foren davon begeistert.  da es noch ein überwachungsprogramm namens winspy gibt, hat es etwa länger gedauert eh ich das richtige tool hatte, letzten endes sogar in unserem forum gefunden ! ^^
www.delphi-forum.de/...rder=asc&start=0
so nun aber zum problem:
ich hab mir die pdf von deinem link mal angesehen und die grobe strucktur des quelltextes versteh ich, nur die ganzen befehle nicht!
das fängt schonmal beim dateiformat "HWND" an, nach etwas suchen in der deplhi hilfe bin ich darauf gestoßen:
"Gibt das fensterorientierte Steuerelement (Windows) oder Widget (plattformübergreifend) zurück, dessen Fendter mit dem angegebenen Handle verknüpft ist oder das an der angegebenen Position angezeigt wird.
Delphi-Syntax:
function FindControl(Handle: HWnd): TWinControl;
function FindControl(Handle: QWidgetH): TWidgetControl;
function FindControl(const Pos: TPoint): TWidgetControl;"
da ich das FindWindow nicht mehr in der delphi hilfe finden konnte, kann es da sein, dass es durch
FindControl ersetzt wurde, oder steht der befehl einfach nicht in der hilffe ? (delphi7enterprise)
außerdem ist FindWindoEX2 eine von ihm selbst geschriebene prozedur, was macht die bzw. was macht die anders als das normale FindWindow was ganz am anfang steht?
schonmal vielen dank im voraus!
gruß meho
PS: ich hab kein laptop mehr, deswegen bin ich die woche über pc und internetlos. also bis nächstest we ^^
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: Mi 13.02.08 23:51
FindWindow und FindwindowEX sind Delphi proceduren.
das war aber noch (hmm, glaub war Delphi 3) muss mir das erstaml ansehn obs die noch gibt.
denk aber schon.
FindWindowEX hat nur unterfenster von FindWindow gesucht und das HWND (Handle) zurückgeliefert.
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|
toms
      
Beiträge: 1099
Erhaltene Danke: 2
|
Verfasst: Fr 15.02.08 01:14
Hallo
FindWindow resp. FindWindowEx sind keine Delphi spezifischen Funktionen sondern sind in Windows.h resp Windows.pas deklariert.
msdn2.microsoft.com/...ms633499(VS.85).aspx
FindWindoEx2 findet Childcontrols auf einem Fenster, wenn mehrere solcher Controls vorhanden sind.
Wenn beispielsweise 5 TEdits auf einer Form vorhanden sind kannst du angeben, von welchem du das Handle möchtest.
[quote=meho]Ich habe ein kleines Tool was eigentlich nur eine Tabelle enthält, worin die Anzahl an Spielern auf einen Server ausgegeben wird[/quote]
Es könnte sich um eine ListView handeln.
|
|
DrRzf
      
Beiträge: 260
Win XP Prof
D7 Enterprise
|
Verfasst: Fr 15.02.08 22:44
toms hat folgendes geschrieben: |
FindWindow resp. FindWindowEx sind keine Delphi spezifischen Funktionen sondern sind in Windows.h resp Windows.pas deklariert.
|
So wie viele proceduren und functionen, die dann irgendwelche Windows functionen aufrufen...
_________________ rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
|
|