Sonderzeichen sendkeys Bitte helft mir :(

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

    Sonderzeichen sendkeys Bitte helft mir :(

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    AppActivate("MTA: San Andreas")
    System.Threading.Thread.Sleep(1000)

    End Sub


    das ist mein button 3 hier sollte hin
    My.Computer.Keyboard.SendKeys(" ` ")

    aba da es ein sonderzeichen ist geht es nich dann würde ich denk shift ´ ergibt ja ` die ascii ist 96
    aba ascii krige ich nur als msg box hin MsgBox("" & Chr(96))


    bite jetz nich einfach nur links schiken sondern ein fertiges script posten

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „toplixer“ ()

    Willkommen im Forum. :thumbup:
    Reicht Dir dies:

    VB.NET-Quellcode

    1. Dim xx As String = Chr(96)
    2. SendKeys.Send(xx)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nix deutsch?
    Möchtest Du per Button-Klick per SendKeys() an eine Textdatei in einem Notepad etwas senden oder habe ich Dich falsch verstanden?
    Button-Klick geht so nicht.
    SendKeys() sendet an das Fenster, das den Fokus hat. Den hat aber bei Button-Klick Dein eigenes Programm.
    Also starte mit Button-Klich einen Timer, klick dann auf das Notpad oder das Programm, das die "Sendung" erhalten soll und los gehts.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nimmst du halt API Calls:

    VB.NET-Quellcode

    1. Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)

    Drücken:

    VB.NET-Quellcode

    1. keybd_event(83, 0, 0, 0)

    Loslassen:

    VB.NET-Quellcode

    1. keybd_event(83, 0, 2, 0)


    Du brauchst hier aber die passenden Scancodes. Die findest du in nem handlichen PDF von Microsoft.
    Als Zusatz kannst du in bScan noch extra ein Flag für z.B. Shift setzen.

    Um ganze Strings zu senden müsstest du dir evtl. eine Lookup-Table als Array bauen..

    Gruß,
    Manawyrm

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()

    Manawyrm schrieb:

    Um ganze Strings zu senden müsstest du dir evtl. eine Lookup-Table als Array bauen..

    Laut der MSDN ist die A-Taste eine 0x41, was einer 65 entspricht. 65 ist zufällig der ASCII-Code eines großen A.
    Dadurch könnte eine Lookup-Table überflüssig werden, weil man anscheinend einfach die ASCII-Codes nehmen kann (Convert.ToInt32(char)). Da man Groß- und Kleinschreibung mit Shift macht, müsste man dann nur noch evalueieren, ob Shift gedrückt werden muss.
    Von meinem iPhone gesendet