Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Automatisch telefonieren mit Procall

Begonnen von Nabimba, Oktober 07, 2010, 13:45:36

⏪ vorheriges - nächstes ⏩

daolix

Hallo DF6GL

eigentlich schon, in ermangelung der nicht vorhandenen Telefonsoftware ( und werd ich auch nicht installieren ) hab ich den Code mit Firefox und einem gesendeten {F5} getestet.  Läuft FF wird die momentane Aktive Seite aktualisiert, wenn nicht kommt die Meldung.

database

Hallo,

Wenn du nach genau EINEM bestimmten Prozess suchst ("Select ProcessId from Win32_Process WHERE Name like 'ECtiClientOne.EXE'")
ist das aber eigentlich unnötig oder?

For Each Prozess In Prozesse
            AppActivate Prozess.ProcessID
            SendKeys "{F6}" & nummer & "{F4}", True
            Exit For
Next


wenn mich nicht alles beißt, sollten dann diese beiden Zeilen genügen:

AppActivate Prozess.ProcessID
SendKeys "{F6}" & nummer & "{F4}", True

daolix

Hallo

im Normalfall ja, ein Set Prozess = Prozesse.Item(0) und die beiden anderen Zeilen und das wäre es dann. Nur ist die Prozesse-Collection ein wenig anders gestrickt, da führt das Set Prozess =.. zu einem Fehler und den statt 0 dafür notwendigen StrObjectPath kenn ich erstmal nicht.  Von daher verwende ich For Each als Ersatz um das Prozess-Object zu erhalten. Die ForEach-Schleife wird ja nur einmal durchlaufen ( weil exit for am Ende ).

Beginner666

Hallo zusammen,

ich glaube so langsam ist Licht am Ende des Tunnels zu sehen.

Ich habe den neuen Code von daolix verwendet und angepasst. Da die ProCall Exe bei mir ECtiClient.exe heißt sieht der Code nun so aus. Das Keybinding ist denke ich auch mit ProCall verknüpft deshalb habe ich diese auch angepasst. Inzwischen ist es auch möglich das die Nummer in ProCall übergeben wird, allerdings nur wenn ich einen Doppelklick auf den Button machen, bei einem einfachen Klick, geht der Nummblock auf der Tastatur aus und wieder an. Wenn die Nummer übergeben wurde, dann wird sie allerdings nicht gewählt, sondern ich muss dann im ProCall noch mal die Entertaste drücken.


Public Function Ich_Ruf_Dich_An(nummer As String) As Long
    Dim WMI, Prozess, Prozesse
    Dim SQL As String
       
    SQL = "Select ProcessId from Win32_Process WHERE Name like 'ECtiClient.EXE'"        'ECtiClient.EXE
    Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set Prozesse = WMI.ExecQuery(SQL)
    If Prozesse.Count = 0 Then
        MsgBox "Telefonsoftware 'ECtiClient' läuft nicht"
        GoTo Sub_ExitClean
    Else
        For Each Prozess In Prozesse
            AppActivate Prozess.ProcessID
            SendKeys "{F8}" & nummer & "{F4}", True
            Exit For
        Next
    End If

Sub_ExitClean:
    Set Prozess = Nothing: Set Prozesse = Nothing: Set WMI = Nothing
End Function
Private Sub Befehl38_Click()
    Dim nummer As String
    nummer = TelefonBeruflich
    Ich_Ruf_Dich_An nummer

End Sub


Gruß Beginner666