Java - operacja na schowku(alt+c)

0

Witam witam,

Jestem jeszcze żółtodziobem w javie , to tak na początek :)

Potrzebuję bardzo mały programik który działał będzie następująco:

  1. Uruchamiam sobie programik w tle
  2. Zaznaczam jakaś liczbę na przykład na jakiejś stronie w przeglądarce
  3. Naciskam ctrl+c i po nacisnięciu tej kombinacji chciałbym aby program podzielił tą skopiowaną liczbę przez liczbę np. 50 i wypisał ja w programie.

Mógłby ktoś podrzucić kod , bo pewnie nie jest to jakiś olbrzymi algorytm :) Z góry podziękuję

0
/*  Odczytanie zawartości schowka systemowego
 */
import java.awt.*;
import java.awt.datatransfer.*;

public class Schowek
{
    public static void main(String[] args)
    {
        Transferable t=Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
        DataFlavor[] df=t.getTransferDataFlavors();
        for (int i=0;i<df.length;i++)
        {
            try
            {
                System.out.println("i = "+i+" "+t.getTransferData(df[i]));
            }
            catch(Exception e)
            {
                System.out.println("i = "+i+" "+df[i].toString()+" error: "+e);
            }
        }
    }
}

Dodaj jakiś Timer, który będzie podobny kod wykonywał co pewien czas (np. co 100 milisekund).

0

Java jeżeli chodzi o obsługę schowka jest tak bardzo uboga i kaleka, że aż mi jej szkoda. Dziwię się, że z jdk7 nie wyszła żadna poprawka.

Potrzebowałem tego typu rozwiązania o które Tobie chodzi, jednak tego typu praca na timerach jest nie do przyjęcia dla mnie. Nie testuje tego kodu, jeśli działa to dobrze, jednak mam takie swoiste skrzywienie, że takie rozwiązania mi się nie podobają.

Utrudniłem sobie trochę życie, ale za to moja satysfakcja była na poziomie +9000. Wykorzystałem tutaj mechanizm obsługi natywnych bibliotek i założyłem Hook na schowek (WinAPI). Działa czarująco. Jeżeli chciałbyś to wykorzystać napisz na priv. Jeżeli chcesz sprawdzić jak to działa zapraszam na www.toptraker.pl
odpal program a później skopiuj sobie (tylko ctrl+c) jakiś link na youtube czy wrzute. Od razu pojawi się odpowiedni link w programie :)
Pozdrawiam!

edit:

Btw możliwę, że się mylę, ale to rozwiązanie powyżej chyba "ściąga" zawartość schowka, przez co nie można go wykorzystać dalej (ale mogę się mylić)

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