Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

autohotkey library in vb.net verwenden


  • Please log in to reply
27 replies to this topic
akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

hi leute

wie kann ich autohotkey library in vb.net verwenden

 

brauche die klick funktion is einfach die beste ...



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Du kannst AutoHotkey.dll verwenden.



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

ja das hab ich versucht bekomme es nicht hin  , hast du vll ein fertigen code wie du das gemacht hast

 

ich mach das zb mit autoit immer so dachte mit ahk gehts genauso

Class AutoIT
    <DllImport("AutoITX3.dll")>
    Private Shared Function AU3_ControlClick(ByVal title As String, ByVal text As String, ByVal control As String, ByVal button As String, ByVal clicks As Int32, ByVal x As Int32, ByVal y As Int32)
    End Function

    Public Shared Function LeftMouseClick(ByVal title As String, ByVal x As Int32, ByVal y As Int32)
        AU3_ControlClick(title, "", "", "left", 1, x, y)
        Return Nothing
    End Function
End Class


akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

leider immer error , fals du es schonmal gemacht hast sag mir bitte wie :D

 

e2202ee2874f78f7fef82fea5a27c660.png



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Du must die AutoHotkey.dll erst registrieren, bist du auch sicher das du die 64-bit version brauchst?

Regsvr32 D:\A_downloads\ahk\Multi-threaded Dll MD\x64w\AutoHotkey.dll


akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

also 32-bit is auch ok , aber die ging hald auch nicht

 

AutoHotkey.dll erst registrieren wie mach ich das , wo soll ich das eingeben Regsvr32 D:\A_downloads\ahk\Multi-threaded Dll MD\x64w\AutoHotkey.dll

 

sry hab das noch nie gemacht zuvor



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Start -> run (ausführen)

Dann "Regsvr32 D:\A_downloads\ahk\Multi-threaded Dll MD\Win32w\AutoHotkey.dll" eintippen und {Enter}



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

ok danke dir , hat geklappt der fehler war es darf kein lehrzeichen im namen sein (Multi-threaded Dll MD) habs geändert dann gings

so siehts jetzt in meinen LIb aus

ef0d3017f850198eef6be08f37597196.png

 

aber trotzden habe ich im code ein problem hoffe du kannst mir sagen was ich da falsch mache

d594eb3f3df23170e89d601108368aaf.png

 

ich habs mit autoit eigl genau gleich den code da gehts problemlos hier auch mal ein bild davon

dbee0ab4f28afa26755a01723d46cf6b.png



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

AutoHotkey.dll exportiert nicht jeden befehl als Funktion.

Hier ist eine Liste der Funktionen.

 

Als erstes musst du einen Script starten.

Es kann auch ein leeres Script sein: ahk.ahkdll() ; startet AutoHotkey.dll und wartet auf befehle oder neuen Script.

 

Wenn du vorab einen Script starten willst kannst du ahk.ahkdll("D:\Script.ahk") oder ahk.ahktextdll("#Persistent" & Chr(13) & "MsgBox Mein Script") benutzen

 

Danach kannst du Code ausführen: ahk.ahkExec("MouseClick, Left, 615, 4").

Einen Script hinzufügen: ahk.addScript("Sub1:" & Chr(13) "MouseClick,Left,615,4" & Chr(13) & "Return")

Den du späten aufrufen kannst: ahk.ahkLabel("Sub1")

Oder eine Funktion hinzufügen: ahk.addScript("MyClick(k:="Left",x:=0,y:=0){" & Chr(13) & "MouseClick,%k%,%x%,%y%" & Chr(13) & "}")

Und diese später aufrufen: ahk.ahkFunction("MyClick","Left",615,4)



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

hmmm ok

das is wohl die komplizierterste anleitung die ich bisher in meinem leben gelesen habe xD

kannst mir nicht ein lauffähiges beispiel schicken , damit ich sehe wie das aufgebaut ist

 

echt ich dachte der umstieg von autoit auf ahk währe einfacher :S



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Hier ist ein beispiel in VBA.

Erst InitAhk ausführen, dann Test und Test1 Makros ausprobieren.

Dim ahk As Object
Sub InitAhk()
' Ahk Init Makro, AutoHotkey initialisieren
    Set ahk = CreateObject("AutoHotkey.Script")
    Handle = ahk.ahkdll()
End Sub
Sub EndAhk()
' Ahk Stop Makro
    Set ahk = Nothing
End Sub
Sub MouseClick(x As Integer, y As Integer, Optional key As String = "Left")
' MouseClick über AHK
    ahk.ahkExec ("MouseClick," & key & "," & x & "," & y)
End Sub
Sub RunAhk(Script As String)
' Ahk Code ausführen makro
    ahk.ahkExec (Script)
End Sub
Sub Test()
' Run our MouseClick function
    MouseClick 100, 100
End Sub
Sub Test1()
' Run code
    RunAhk ("MsgBox Hello World!" & Chr(13) & "ToolTip Hello World!" & Chr(13) & "Sleep 3000" & Chr(13) & "ToolTip")
End Sub


akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

bin echt ratlos nichtmal dein beispiel geht bei mir , hast du es den selber mal ausgführt ?



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Ich habe es in Excel VBA getestet.

Ich benutze VBA nicht und kenne mich da nicht so aus.

 

Wenn bei dir Dim ahk = new AutoHotkey funktioniert, versuche anschließend ahkhThread = ahk.ahktextdll("MouseClick,Left,615,4")



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

das funktioniert leider nicht

und die leute die vb.net forum kennen auch keine antwort die meinen alle man solle hier fragen oder einfach auoit benutzen :S

 

gibts den wirklich keinen hier im forum der autohotkey schonmal in visual basic 13 mit vb.net benutzt hat und mir sein script schicken kann das auch geht :(



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008

Also ich hab es bei mir ausprobiert und folgendes funktioniert (console application):

Module Module1

    Sub Main()
        Dim ahk As Object
        ahk = CreateObject("AutoHotkey.Script")
        ahk.ahktextdll("MsgBox from Script")
        MsgBox("ende")
    End Sub

End Module