Сбой приложения WPF при подключении через Teamviewer

У меня возникла проблема при подключении с помощью teamviewer к устройству, на котором запущено мое приложение WPF. Если это соединение установлено, мое приложение WPF аварийно завершает работу со следующим исключением:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ComponentModel.Win32Exception: Cannot create a file when that file already exists
   at MS.Win32.UnsafeNativeMethods.GetWindowText(HandleRef hWnd, StringBuilder lpString, Int32 nMaxCount)
   at System.Windows.Automation.Peers.WindowAutomationPeer.GetNameCore()
   at System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
   at System.Windows.ContextLayoutManager.fireAutomationEvents()
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
   at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   at System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(Object resizedCompositionTarget)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)

Эта проблема похожа на описанную здесь.

В комментариях к этому вопросу использование буфера обмена упоминается как возможная причина этой проблемы. Но мое приложение WPF не использует буфер обмена.

Я надеюсь, что кто-то может помочь мне найти причину этого исключения.


person Marco    schedule 02.06.2017    source источник
comment
Судя по комментариям в связанном вопросе SO и трассировке исключений, я бы сказал, что приложение пытается получить доступ к некоторым функциям win32, а в TeamViewer их нет. Можете ли вы попытаться поймать исключение, когда оно возникнет, и найти дополнительную информацию? Вы также можете удалить название своей компании из трассировки стека.   -  person Clint    schedule 02.06.2017
comment
Я думаю, что нужна дополнительная информация, например. фрагмент кода, где выдается это исключение   -  person Pikoh    schedule 02.06.2017
comment
1 - вы пробовали использовать простое тестовое приложение? 2- в вашем случае приложение уже запущено и вылетает при создании удаленного подключения?   -  person GCamel    schedule 02.06.2017
comment
У меня такая же проблема. Не могу отследить. Очевидно, это что-то среднее между WPF и TeamViewer, потому что я не вижу ни одного из моих собственных классов или методов, включенных в трассировку стека.   -  person lot    schedule 14.11.2017


Ответы (1)


Я только что исправил эту проблему сам. Это было вызвано пустым заголовком MainWindow. После установки проблема устранена.

person Marco    schedule 21.11.2017