Привет, сообщество StackOverflow, это мой первый пост, но я читал это некоторое время. Я не стал бы просить вас о помощи, если бы это было действительно не важно. У меня есть проблема, что вы могли бы быть в состоянии легко решить, здесь:Общие вопросы VB.net с API Skype
Public Class Form1
Public WithEvents oskype As New SKYPE4COMLib.Skype
'HOOK EVENTS
Private Sub kbHook_KeyDown(ByVal Key As System.Windows.Forms.Keys) Handles kbHook.KeyDown
If Key = Keys.F7 Then
'CODE HERE TO ANSWER SKYPE CALL
End If
End Sub
End Class
Там вы видите, что у меня есть некоторый код, чтобы зацепить ключи на низком уровне (такие, как сделать ярлыки), и я хотел бы ответить вызов, когда F7 нажат, но я не знаю, как вызвать API в этом случае.
В качестве эталона я показываю здесь пример того, как я могу ответить на вызов автоматически Если скайп звонит:
'SKYPE CALLING EVENT
Private Sub oSkype_CallStatus(pCall As SKYPE4COMLib.Call, Status As SKYPE4COMLib.TCallStatus) Handles oskype.CallStatus
If SKYPE4COMLib.TCallStatus.clsRinging Then
pCall.Answer()
End If
End Sub
Дело в том, что я не могу установить pCall.Answer() или oskype.Answer () в другом блоке (или любом другом блоке, таком как кнопка), он не работает.
Я также попытался установить переменную при нажатии F7, но затем эта переменная не обновляется, пока я внутри oSkype_CallStatus Sub.
Любая помощь или подсказка будет потрясающей, спасибо заранее. Кстати, код длиннее, но я думаю, этого достаточно, чтобы вы могли понять мой вопрос.
Исключения и ошибки:
Я также обнаружил код ошибки, который HResult = -2147467259, но оказалось, что неопределенный код:
0x80004005
E_FAIL
Unspecified
Как вы хотите ответить на скайп? Постоянно ждать в цикле, пока не появится какой-либо сигнал? Почему вы не можете публично объявлять pCall при загрузке, а затем иметь возможность ссылаться на него в событии keydown? Я думаю, что последнее может быть вашим решением. – Kat
@sparkysword Спасибо, это то, что я искал, но не могли бы вы помочь мне сделать это? Я очень новичок в объектно-ориентированных языках, поэтому я немного потерял это. Из чего, я думаю, вы хотите вставить в событие загрузки Form_1 что-то вроде объявления объекта или переменной? – jaimehrubiks
Я пробовал что-то вроде Dim pCall как SKYPE4COMLib.Call, а затем использовал pCall.Answer(), но не работал – jaimehrubiks