Ben mousumla ekranda herhangi bir yerde gezinirken Web sitesi olur başka harici programlar olur, buralarda bi şekilde seçtiğim veyahut üzerine geldiğim Text formatında olan verileri otomatik olarak kopyalamak, Örneğin mous ile seçtiğimde arka planda otomatik olarak clipboarda kopyalansını istiyorum.
Babylon sözlük kullanan varsa aranızda eğer onun gibi bir uygulama yapmaya çalışıyorum. Tabi Babylon resimlerdeki kelimeleride seçip ayırt edebiliyor. Ama ben şimdilik Text verileri elde edebileceğim bir yöntem bir kod arıyorum.
Her türlü yorum fikir yönlendirme işime yarayacaktır. Şimdiden teşekkürler.
Kod: Tümünü seç
var
Buff: array[0..65535] of char;
...
function CurrentSelectedText: string;
var
hFocus: hWnd;
aStart, aEnd: integer;
begin
//added by andrei, attach input to current thread
AttachThreadInput(GetCurrentThreadId, GetWindowThreadProcessId(GetForegroundWindow), true);
hFocus:= GetFocus;
SendMessage(hFocus, WM_GETTEXT, 65535, integer(@buff));
SendMessage(hFocus, EM_GETSEL, Integer(@aStart), Integer(@aEnd));
result:= Copy(StrPas(Buff), 1+aStart, aEnd-aStart);
end;
nasıl bir yol izlesem sizce ?
Kod: Tümünü seç
procedure TForm1.Timer1Timer(Sender: TObject);
var
W: HWnd;
rpos:TPoint;
begin
GetCursorPos(rpos);
W := WindowFromPoint(rpos);
SendMessage(w,WM_COPY,0,0); {copy to clipboard}
memo1.Text:= Clipboard.AsText;
end;
aceba bu copy kombinasyonunu post mesajla değilde direk klavyeden basılmış gibi simule edemezmiyiz?