Zápis "čísla" do TextBoxu externí aplikace   otázka

VB.NET

Zdravím.

Potřebuji zapsat "číslo" do TextBoxu v externí aplikaci.

Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        Dim Hwnd As IntPtr = FindWindowEx(IntPtr.Zero, Hwnd, "#32770", "Comet Tracking")
        Dim Handle As IntPtr = Marshal.AllocHGlobal(100)
        Dim ChildHandle As IntPtr

        ChildHandle = FindWindowEx(Hwnd, ChildHandle, "Edit", Nothing)
        SendMessageByString(ChildHandle, WM_SETTEXT, 2, "22")
    End Sub

Pomocí tohoto kódu jsem schopný zapsat text do TextBoxu označeného na obrázku (dole jako odkaz) zelenou šipkou.

Jak mám upravit kód, abych mohl zapsat text do TexBoxu označeného červenou šipkou?

Děkuji za jakoukoli odpověď.

http://bilek.astronomy.cz/astroforum/Win...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zadejte jiné ID prvku.

Pokud máte na obrázku číslo #32769 a je to adresa TextBoxu do kterého chcete zapisovat, tak ji změňte v kódu.

Hledejte inspiraci jak zjistit ID zde:

http://www.codeproject.com/Articles/7925...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za reakci, nicméně si nejsem jistý, jestli si rozumíme.

1. prosím o vysvětlení, kde jste přišel na to #32769

2. trochu jsem doplnil ten můj obrázek. Vlevo je to okno, do kterého chci "sahat". Tím kóde, co je nahoře, zapíšu číslo "22" do toho TextBoxu, co je úplně dole (teď je v něm text "Center the Comet"; na obrázku na něj ve výpisu z WinSpy míří červená šipka; pro zápis do něj žádné ID nepotřebuju). Všechny ty objekty, které jsou na obrázku, jsou v jednom okně, takže všichni mají stejnou adresu: #32770 (okno má Caption "Comet Tracking"). Já chci zapisovat do TextBoxu označeným zelenými šipkami, nebo na ovladače označené modrou šipkou, které "ovládají" číselné hodnoty v tom TextBoxu. WinSpy mi ukáže i ID těchto prvků (např. ten Textbox má ID "FFFF83AB", ale tady nevím, jak je použít :(

3. obávám se, že ten Textbox nebude obyčejný Textbox, ale že je nějak svázaný s tím druhým objektem ("msclts_updpwn32"). Možná se ale jen pletu...

F.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

zkus použít vbscript: WshShell.SendKeys "text".Akorát musí být cílové pole zaktivované.

ulož ho do stejné složky jako exe a do vb.netu napiš

System.Diagnostics.Process.Start("program.vbs")
nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback