2010-02-27 11 views
10

मैंने SendKeys के साथ एक सरल परीक्षण बनाया, और SendWait और Send दोनों को आजमाया।Vb.net प्रेषक, पत्र डुप्लिकेट?

Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click 
    System.Threading.Thread.Sleep(10000) 
    SendKeys.SendWait("If you can read this, it works." + "{ENTER}") 
End Sub 

मैंने स्काइप में परीक्षण किया, और कुछ पत्र दोगुनी हो गए। मैंने फ्लैश में परीक्षण किया, मुझे "इफफ य्यौ कक्कन र्रेरादद्द ​​थिहिइइस," iiittt wwwooorrrrkkks मिला। "

स्पष्ट रूप से समस्या अंतराल के कारण होती है। अक्षरों को दोगुनी (या तीन गुना) रोकने के लिए मैं क्या कर सकता हूं? मैं शायद (एक दृश्य स्टूडियो समाधान में app.config, या <myapp>.exe.config जब आवेदन करने के लिए कंधे से कंधा मिलाकर स्थित) कुछ यहाँ बड़ा ...

उत्तर

10

अपने अनुप्रयोग सेटिंग्स में याद कर रहा हूँ, जोड़ने <configuration> तत्व के बच्चे के रूप में निम्नलिखित:

<appSettings>  
    <add key="SendKeys" value="SendInput"/>  
</appSettings> 

यदि वह काम नहीं करता है, की कोशिश:

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

स्रोत: SendWait() [MSDN]

"... नतीजतन, SendKeys वर्ग अलग ऑपरेटिंग सिस्टम पर अलग ढंग से व्यवहार कर सकते हैं ..."

+0

पहले मेरे लिए विंडोज 7 पर काम किया। –