Autor Beitrag
The-FoX
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 203

Win XP
D6 Pers
BeitragVerfasst: So 08.08.04 02:45 
Hallo,

Ich schreibe mir momentan ein Programm um die sportwetten Daten übersichtlicher darzustellen, da ich monatlich sehr häufig wette.

Es gibt einen Client von Gera, in dem stehen in einer Listbox die gewünschten Daten. Anders als über den Client komm ich an die daten nicht ran.

So soll das Programm aussehen:

Mein Programm öffnet den Client mit Shellexecute und zwar versteckt!
Mein Programm sucht den Button, der den Gera Client aktualisiert und klickt ihn.
Mein Programm überträgt die Daten aus der Listbox in mein Programm und wertet sie aus.

Kann mir jemand bitte sagen nach welchen Begriffen ich suchen muss, um z.B. den button zu finden?
Und noch etwas: Wenn ich den Gera client über den parameter sw_hide öffne, so ist er doch im Vordergrund. Er soll aber unbedingt versteckt sein (ordnung soll schon sein).

desweiteren, gibt es die Möglichkeit die clientexe in eine Resourcendatei einzubinden, ich habe von Gera nämliches folgendes gesagt bekommen:

Ich darf den Client benutzen um die Daten zu erhalten, da sie keine andere Schnittstelle einrichten werden. Allerdings darf ich den Client aufgrund von urheberrechtlichem Kram nur "verschlüsselt" (haben die gesagt) also nicht in der rohform mitliefern. Jemand ne Idee?

Danke!
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Mo 09.08.04 00:02 
Hi!

Ich kann dir zwar nicht helfen, aber ich hab atm ein ähnliches Problem! Da hier noch niemand geantwortet hat, habe ich mal den Thread ins delphipraxis Forum kopiert. Er befindet sich dort unter folgendem Link:

www.delphipraxis.net...st215398.html#215398

Alles was dort gepostet wird, werde ich hier eintragen.
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Di 10.08.04 07:10 
Toxman hat folgedens geschrieben:

Zitat:

Also die Begriffe
Zitat:

'Mein Programm öffnet den Client mit Shellexecute und zwar versteckt!'
'Er soll aber unbedingt versteckt sein (ordnung soll schon sein).'
'die clientexe in eine Resourcendatei einzubinden'
'nur "verschlüsselt" (haben die gesagt)'
klingen für mich etwas komisch.

Ich persönlich mag keine Programme die eine verschlüsselte .exe in der Ressource haben und die dann versteckt ausführen. Wenn man da keine gute Firewall hat, die einem eine Internetverbindung anzeigt, könnte dieses Programm alles Mögliche auf meinen Rechner ziehen.

Das Ganze klingt doch sehr nach einem Programm, dass The-Fox nur selbst benutzen will, warum macht er sich also Gedanken um Ressourcen oder 'urheberrechtlichem Kram'? Die Clientexe hat er ja immer da liegen, also warum verschlüsselt in die Ressource?

Das war meine ganz persönliche Anschauung der Sache. Falls ich ganz arg daneben liegen sollte, tut's mir leid.


Hansa hat folgendes geschrieben:

Zitat:

Programm versteckt öffnen und Infos auslesen

Der Titel sagt bereits alles. Wer soll da antworten ?


Ich habe folgendes geschrieben:

Zitat:

Mir ist das versteckt öffnen relativ egal, mir gehts nur ums Infos auslesen bzw. ums Button klicken. Aber kannst du mir erklären was daran so schlimm wäre? Er hat doch ziemlich plausibel erklärt das er nichts böses vorhat. Und wenn er das Programm wirklich weitergeben möchte, muss er die Exe wohl "verstecken" weil er sonst gegen die lizenzvereinbarungen verstöst.

Naja woran ich momentan hänge ist folgendes:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
  
procedure buttonklicken; 
var 
  Button:hwnd; 
  Fensterint:longint ; 
begin 
  ButtonToClick:=FindWindowEx(GetForegroundWindow, 
                              0
                              0
                              'OK' 
                              ); 
  if ButtonToClick<>0 then 
  begin 
    windowlongid:=getwindowlong(ButtonToClick,gwl_id); 
    SendMessage(GetParent(ButtonToClick), 
                WM_COMMAND, 
                MAKEWPARAM(windowlongID, 
                           BN_CLICKED ), 
                ButtonToClick ); 
  end
end;


Ich habe den Code aus dem Edh2000. Ich denke das ich ihn halbwegs verstanden habe. Das Problem ist, dass ich den Button nur drücken kann, wenn er sich auf meiner Form befindet. Das liegt wohl an dem GetForeGroundWindow. Anstatt dem GetForeGroundWindow müsste ich dort wohl das Handle des Fenster auf dem sich der Ok-Button befindet eintragen. Doch wie komme ich an das Handle?



Wird ziemlich unübersichtlich, ich würde sagen wir diskutieren im dp-Thread weiter, wenn du nichts dagegen hast.