Avatar billede zombietown Nybegynder
11. november 2003 - 21:41 Der er 11 kommentarer og
1 løsning

Simulere et muse click og keyboard tast.

Jeg er ved at oprette et program som skal kunne logge mig på et andet program. Det andet program skal altid ha udfyldt nogle data, og da jeg er fantastisk doven, så vil jeg lave et program der kan gøre det.

Jeg ved hvad koordinaterne på de forskellige felter er, nu skal jeg bare ha fundet udad hvordan jeg får simuleret et click fra musen og nogle keyboar taster.

Jeg vil gætte på at der skal oprettes nogle Events, som skal sendes til Windows. Men jeg aner ikke hvordan man skal gøre det.

Håber i kan hjælpe.
Avatar billede r9 Nybegynder
11. november 2003 - 21:53 #1
hvis din knap hedder "button2".

så laver du en event med:
this.button2.Click += new EventHandler(button2_Click);

private void button2_Click(object sender, EventArgs e)
{
//udfør dit kode           
}


og du kalder eventen med:
this.button2_Click(null, null);
Avatar billede zombietown Nybegynder
11. november 2003 - 21:56 #2
Det program hvor jeg skal udfylde nogle felter er ikke et jeg har lavet, så jeg tror ikke jeg kan bruge den løsning.
Avatar billede r9 Nybegynder
11. november 2003 - 21:59 #3
ok.

det var jo ikke til at vide.
Avatar billede odegaard Nybegynder
12. november 2003 - 01:01 #4
Inden grund til at opfinde den dybe tallerken:
http://www.kratronic.com/recorder/
Avatar billede zombietown Nybegynder
12. november 2003 - 08:11 #5
Ikke med mindre at man gerne vil vide hvordan den der tallerken er blevet lavet, og man skal måske bruge det senere til noget andet, så det vil være rart at vide.
Avatar billede zombietown Nybegynder
12. november 2003 - 12:19 #6
Jeg har lige sat lidt flere point på den, da det måske ikke er et nemt spørgsmål.
Avatar billede driis Nybegynder
12. november 2003 - 12:26 #7
Jeg er ikke klar over, hvorvidt det er muligt at bruge Windows API kald fra C# - men det er the way to go, når du skal lave den slags. Du skal kigge på SendInput:

"The SendInput function synthesizes keystrokes, mouse motions, and button clicks."
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/KeyboardInput/KeyboardInputReference/KeyboardInputFunctions/SendInput.asp
Avatar billede driis Nybegynder
12. november 2003 - 12:31 #8
Kig her for info om hvordan du registrerer den og bruger den fra C#:
http://www.codeproject.com/csharp/c__and_api.asp
(Du kan godt scrolle ned til "C# and API" med det samme)
Avatar billede zombietown Nybegynder
12. november 2003 - 13:07 #9
Umiddelbart ser det ud som om at det er det jeg skal bruge, jeg har ikke lige mulighed for at teste det nu, men jeg prøver i aften, og hvis det virker, så sender jeg nogle point til dig.
Avatar billede zombietown Nybegynder
12. november 2003 - 16:26 #10
Nu har jeg arbejdet med det, og har ikke fået det til at virke.

Det er ikke din ide der er noget galt med.

Når jeg prøver at bruge "SendInput(uint nInputs, LPINPUT pInputs, int cbSize);" så kender den ikke LPINPUT, som er en struct.

Hvor finder jeg den ?

Jeg læste et sted at man selv skal oprette den, men nogle af de der structs har andre structs i sig. Håber man kan hente dem et eller andet sted.
Avatar billede zombietown Nybegynder
12. november 2003 - 18:10 #11
Jeg opretter et nyt spørgsmål med de der structs.

Tak for hjælpen Driis.
Avatar billede driis Nybegynder
13. november 2003 - 00:52 #12
Du er nødt til at definere din struct selv, du kan ikke hive det ud af DLL'en:

public struct INPUT
{
// det der nu skal være i struct'en - find det på MSDN Lib.
};

LP betyder Long Pointer - så du skal give en pointer til din struct med i kaldet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester