Ik heb een formulier (steeds op de voorgrond) met een knop op. Indien op deze knop wordt gedrukt, dan zou de geselecteerde tekst in een andere toepassing gekopieerd moeten worden naar het geheugen.
Mijn code werkt als volgt (een selectie is reeds gemaakt in andere software):
Deze code werkt zonder problemen bij de meeste (standaard) applicaties zoals word, excel, IE, ...
Maar in sommige gevallen wordt niet altijd de geselecteerde tekst gekopieerd (ctrl c wordt wel herkend door de applicatie met de selectie in). In andere gevallen werkt het een tijdje probleemloos, daarna moet men meerdere keren klikken, ...
Weet iemand waaraan dit zou kunnen liggen. Ik heb al geprobeerd om de vertraging te verhogen (geen resultaat), of eerst het klembord leeg te maken (clipboard.clear). Het lijkt me dat na het kopiëren niet altijd gewacht wordt tot de selectie effectief in het geheugen staat.
Mijn code werkt als volgt (een selectie is reeds gemaakt in andere software):
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| '1) formulier minimaliseren, zodat de applicatie waarin een tekst geselecteerd is op de voorgrond staat frmMain.hide '2) kleine vertraging, zo ben ik zeker dat frmMain zeker geminimaliseerd is (gaf problemen zonder deze regel) sleep(200) '3) ctrl c simuleren = kopiëren (op voorwaarde dat de applicatie waar de tekst geselecteerd is deze toetsencombinatie kent) sendkeys "^c", true '4) formulier terug tonen frmMain.show '5) inhoud klembord plakken in tekstveld txtTekstveld.Text = Clipboard.GetText |
Deze code werkt zonder problemen bij de meeste (standaard) applicaties zoals word, excel, IE, ...
Maar in sommige gevallen wordt niet altijd de geselecteerde tekst gekopieerd (ctrl c wordt wel herkend door de applicatie met de selectie in). In andere gevallen werkt het een tijdje probleemloos, daarna moet men meerdere keren klikken, ...
Weet iemand waaraan dit zou kunnen liggen. Ik heb al geprobeerd om de vertraging te verhogen (geen resultaat), of eerst het klembord leeg te maken (clipboard.clear). Het lijkt me dat na het kopiëren niet altijd gewacht wordt tot de selectie effectief in het geheugen staat.