Korzystanie z programów za pomocą delphi

0

Witam prosiłbym o pomoc :) Przykładowo mamy przeglądarke opera. Jak zrobić aby program gdy klikne właczał opere a potem wpisywał w nową karte np. 4programmers.net ? Czy trzeba tutaj pakietamy się pobawić czy inny sposób?

// edit
aha i nie chodzi mi o przeglądarke domyślną, że na jakiś link wchodzi tylko o to że moge sobie zmieniać adresy itd.

0
ShellExecute(Handle, 'open', 'http://4programmers.net', nil, nil, SW_SHOW);
0

O tóż to nie chodzi o to, chodzi o to że chce sterować przykładowo operą, np zmieniam opcje itd.

0

Możesz np.:sterować myszką, czy wysyłać do aplikacji komunikaty, lecz i tak nie widzę w tym wszystkim sensu.
Czy możesz nam zdradzić po co Tobie takie coś?

0

żeby np. bota do gry przeglądarkowej

0

Do takiego czegoś nadawałby się program Tasker. Albo komunikacja przez HTTP bez użycia przeglądarki, ale to już trudniejsza sprawa.

1

Kombinujecie jak koń pod górę. Przecież od dawna wiadomo, że istnieje "takie coś" jak DDE i przy pomocy niego można odczytać dane aktywnej zakładki przez odpowiednie wywołanie http://pl.wikipedia.org/wiki/Dynamic_Data_Exchangegoogle innych informacji i natrafiamy na info o Bugu w przeglądarkach związanym z metodą DDE o nazwie http://pl.wikipedia.org/wiki/Dynamic_Data_Exchangejemy: delphi http://pl.wikipedia.org/wiki/Dynamic_Data_Exchangea wiem i rozumiem, że dział Newbie, że wakacje, że w niektórych rejonach upalnie itd, itp, ale troszkę samodzielności i logicznego myślenia bym prosił. Macie mózgi to z nich korzystajcie póki Was starość nie dopadnie i z kondycją umysłową będzie gorzej :) I dodam, że żadne wysyłanie komunikatów do okna Opery nie ma sensu, bo została ona w taki sposób stworzona, że całe jej okno jest pod jedną klasą, nie ma jak IE wydzielonych kontrolek. W takich przypadkach wiadomo, że skoro inne, starsze przeglądarki mają taką możliwość to i tutaj nalezy skorzystać z DDE (http://pl.wikipedia.org/wiki/Dynamic_Data_Exchange).

uses
  DDEMan;

procedure SetURL(Service, Url : string);
var
  DDEClient : TDDEClientConv;
begin
  DDEClient := TDDEClientConv.Create(nil);
  with DDEClient do
  begin
    SetLink(Service, 'WWW_OpenURL');
    RequestData(URL + ',,0x0,0x0');
    CloseLink;
  end;
  DDEClient.Free;
end;

Użycie dla Opery i strony głownej serwisu 4p:

  SetURL('Opera', 'http://4programmers.net');
0

ale zupełnie nie chodzi o to, otwarcie strony dałem za przykład... chce po prostu sterować innym programem za pomocą mojego programu w tym przypadku chce sterować operą

0

No a co Opera miała by robić? Nie posterujesz nią na pewno za pomocą komunikatów, bo jak wspomniałem całe okno robocze Opery jest pod jednym uchwytem oraz klasą i nie przyjmuje standardowych komunikatów. Jak chcesz się logować na jakąs stronę albo ją odwiedzać i nie potrzebny jest Tobie JavaScript do tego to polecam oczywiście Synapse. Jednak jeżeli potrzebny jest JavaScript to pozostaje raczej użycie TWebBrowser albo zainstalowanie FireFoxa i zainstalowanie kontrolki ActiveX, która z niego korzysta, tak jak TWebBrowser z IE. Jednak w tym drugim przypadku nie za bardzo pomogę, bo do tej pory w swoich aplikacjach internetowych do obslugi protokołu HTTP starałem się korzystać z Synapse i nie potrzebowałem obsługi JavaScript. Możesz kombinować z kontrolkami ActiveX bazujących właśnie na silnikach IE albo FireFoxa lub da się chyba jeszcze z Chrome. Szczegóły to może ktoś inny Tobie podpowie albo sobie spróbujesz wygooglować jakieś informacje. Podstawowe rzeczy jak odczytanie nazwy zakładki i adresu lub otwarcie strony pod Operą da się zrobić, tak jak wspomniałem przez DDE, ale kompletnego sterowania bym się nie spodziewał. Bo przeglądarka internetowa jest raczej po to aby to użytkownik nią się posługiwał, a nie robiło to za niego oprogramowane, które może być na przykład jakimś malware, co grozi bezpieczeństwu.

EDIT: albo tak jak napisał payl symulowanie klawiatury oraz myszki, tylko że jak wspomniałem Opera jest reprezentowana przez jeden uchwyt i klasę okna, więc ciężko określić położenie na różnych rozdzielczościach ekranu elementow przeglądarki. A i samej strony internetowej - nie będzie za łatwe.

0

A przykładowo bot do gry mmprpg działa za pomocą pakietów, da się tak zrobić?

0

Chce po prostu jakimś programem sprawdzać pakiety czy też funkcje jakieś i potem to zrobić programowo w delphi, np. przycisk wstecz itd.

0

@nitro Cee: musisz się zdecydowac, czy chcesz tak - jak payl stwierdzil - napisać przeglądarkę, coś co symuluje przeglądarkę, coś co monitoruje pakiety czy jeszcze coś innego, a może to wszystko na raz. Ale wiadomo, jak coś jest do wszystkiego to jest do niczego. Jedynie jeżeli chodzi o monitorowanie pakietów to polecam, jeżeli chcesz sobie ułatwić, skorzystać z tych modułów pod adresem poniżej. Pisałem na ich podstawie prosty program, który monitoruje co wyszukujemy przy pomocy google i działa. Korzystać te moduły mogą również z WinPCapa. Adres: http://www.magsys.co.uk/delphi/magmonsock.asp

0

Mi chodzi o sockety bo pisałem bota do gry to właśnie tak, a nie wiem jak programem korzystać z przeglądarki

1 użytkowników online, w tym zalogowanych: 0, gości: 1