Autor Beitrag
csharpbeginner202
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 12.06.12 19:27 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
P.StartInfo.Arguments = "http://www.Testwebformular.php";
P.StartInfo.FileName = "firefox.exe";
P.Start();
System.Threading.Thread.Sleep(1000);
SendKeys.Send("{TAB 1}");
SendKeys.Send("Hallo");
SendKeys.Send("{TAB}");
SendKeys.Send("TEST{BACKSPACE 1}");
SendKeys.Send("{TAB}");
SendKeys.Send("a");


Kurze Problembeschreibung:
{TAB} springt nicht auf nächste Textbox sondern überspringt eine.
{BACKSPACE 1} löscht nicht ein sondern zwei Zeichen.



Der Code springt nicht in die erste Textbox, wie gewünscht sondern schreibt erst in die zweite Hallo, dann wird eine Textbox übersprungen. In die darauffolgende wird TEST geschrieben. {BACKSPACE 1} löschta allerdings nicht wie gewünscht ein Zeichen sonder zwei und somit wird aus 'TEST' nicht 'TES' sondern nur 'TE'.

Kennst du eine Lösung?

Ich benötige bitte dringend Hilfe!!!

DANKE
Ein fortgeschrittener Anfänger.

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mi 13.06.2012 um 11:13
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Di 12.06.12 19:45 
also {BACKSPACE} wird meines wissens nach ohne die 1 geschrieben.
sonst macht er BACKSPACE + 1 draus oder nicht?
kannste aber mal mit {BACKSPACE, 1} oder {BACKSPACE(1)} versuchen. ;)
an irgendwas wird es schon liegen.

warum tab spinnt könnte an einer falschen nummerierung der felder liegen?
probiere es mal manuell aus, springt er da auch falsch?

andernfalls mußt du wohl diese zeile beachten:
Zitat:
since the tab stop is 0


------nachtrag------

hab nochmal nach geblättert,
das war schon richtig wie du die 1 verwendest,
aber bei ein mal ist die nicht nötig.

Zitat:
To specify repeating keys, use the form {key number}. You must put a space between key and number. For example, {LEFT 42} means press the LEFT ARROW key 42 times; {h 10} means press H 10 times.

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
csharpbeginner202 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 13.06.12 11:01 
Vielen Dank für Deine Hilfe.

Leider hat sie mich nicht weiter gebracht.
Die Tabindizes sind richtig, denn manuell funktionieren sie einwandfrei.

Außerdem tritt manchmal zusätzlich das Problem auf, dass nicht zum Beispiel 'Hallo' geschrieben wird sondern 'Hhhhhallllloooo' oder 'H' oder so ähnlich, ich weiß nicht woran das hackt.

Gibt es vielleicht eine ähnliche Methode wie SendKeys.Send("key"); die funktioniert?

Danke im Voraus.
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Di 19.06.12 12:22 
mir ist gerade noch was aufgefallen.
du verwendest "System.Threading.Thread.Sleep(1000);"
weil du ja offensichtlich ein webformular automatisch ausfüllen willst.

kann es sein das du evtl. zwischen jede eingabe eine kleine pause machen solltest?
is evtl. besser, versuch es mal.

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
csharpbeginner202 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Fr 22.06.12 10:46 
Danke,

habs auch schon zuvor mehrmals mit Pausen probiert. Bis jetzt hat es leider noch nicht geklappt.

Ich kanns ja noch einmal versuchen, wenn ich wieder Zeit habe.

mfg C#-Beginner
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Fr 22.06.12 11:06 
ich muß zugeben, so recht kann ich den fehler nicht nachvollziehen.
ich hab auch schon mal mit SendKeys.SendWait("bla bla"); gearbeitet
aber das macht bei mir keinen unterschied ob send oder sendwait.

evtl. ist sendwait für deinen fall ja eine hilfe.

wenn das auch nichts bringen sollte, kann es nur noch daran liegen
das SendKeys wohl eher in älteren windows xp oberflächen läuft.
in vista und win7 oberflächen aber mehr und mehr probleme mit dem focus und den handels bestehen.

hab ich zumindest gelesen, weil ich selbst eine möglichkeit suche
mit SendKeys an fremde prozesse eingaben zu senden ohne diese in den vordergrund ziehen zu müssen.

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
csharpbeginner202 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 24.06.12 22:45 
Stimmt,

Ich habe auch noch nie einen Unterschied zwischen send und sendwait bemerkt.

Verwende auch noch xp.

mfg
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 25.06.12 10:27 
Hallo,

hast du denn schon den MSDN Beitrag zu diesen Methoden gelesen: SendKeys.Send ?

Unter Hinweis steht ja, daß ab .NET 3.0 die Methoden intern verändert wurden. Wenn du das alte XP-Verhalten haben willst, dann setze folgendes in die Datei "app.config":
ausblenden XML-Daten
1:
2:
3:
4:
5:
<appSettings>

<add key="SendKeys" value="JournalHook"/>

</appSettings>
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Fr 27.07.12 09:20 
sorry, mir ist gerade erst aufgefallen das ich da was durcheinander gebracht habe.

du arbeitest mit:
ausblenden C#-Quelltext
1:
"System.Threading.Thread.Sleep(1000);"					

also mit einem parallelen task.

kann es sein das du außerhalb dieses task noch weitere eingabe auslöst oder auf aktionen aus diesem task reagierst?
scheind so als wenn wie ob, irgend ein anderer programmteil mit arbeitet und dir in die suppe spuckt.

hoffe du findest den übeltäter ;)

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Fr 01.02.13 16:55 
auch wenn das thema schon einige tage auf dem buckel hat, mache ich nicht extra was neues auf.
ich kann das problem jetzt auch rekonstruieren.

ich verwende diesen code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
// kopieren
Clipboard.SetDataObject(((System.Windows.Forms.PictureBox)(sender)).Image, false);
// einfügen
SetForegroundWindow(x.MainWindowHandle);
//Thread.Sleep(250);
SendKeys.SendWait("^(v)");
Clipboard.Clear();

ich kopiere den inhalt meiner picturebox in eine externe anwendung welche ich in meine eingebunden habe.
damit bekomme ich sporadisch zwischen 1x und 5x den inhalt meiner zwischenablage eingefügt.

offensichtlich kopiert sich der sendkeys befehl wenn er auf ausführung wartet.
oder die zielanwendung interpretiert ihn mehrfach.

wo genau das problem ist kann ich leider nicht feststellen.

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Do 04.04.13 18:54 
der vollständigkeit poste ich nochmal.

hab mittlerweile eine alternative zu sendkey gefunden die keine probleme macht.
inputsimulator.codeplex.com/

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke