У меня проблема похожая на пользователя в этом посте Метод работает в Visual Studio, но не из exe . Однако решение, полученное в этом посте, не будет работать для меня, поэтому мне нужно еще несколько предложений от сообщества, чтобы посмотреть, как я могу преодолеть это.
Я потратил пару дней на программирование программы, которая работает именно так, как я хочу, в Visual Studio, но затем, когда я собираю решение и запускаю его из файла .exe, часть программы не работает.
Ниже приведена часть программы. Он вводит строчную букву «d», если в данный момент включена кнопка Caps Lock, или вводит букву «D», если Caps Lock в данный момент выключен.
Imports System.Threading
Imports System.Windows.Forms
Module NavigateToTopOfDemographicsScreenModule
Sub NavigateToTopOfDemographicsScreen()
If System.Windows.Forms.Control.IsKeyLocked(Keys.CapsLock) Then
System.Windows.Forms.SendKeys.SendWait("d{Enter}")
Else
System.Windows.Forms.SendKeys.SendWait("D{Enter}")
End If
Thread.Sleep(1000)
End Sub
End Module
Это консольное приложение .NET Framework. Он работает как приложение Windows Form, поэтому окно консоли не отображается для пользователя во время его работы.
Я использую эту часть программы для отправки нажатий клавиш в другую программу, чтобы убедиться, что программа находится на правом экране, прежде чем снимать экран.
Опять же, программа будет работать, когда я нажимаю кнопку «Выполнить» из Visual Studio, но затем, когда я собираю решение и пытаюсь запустить его из файла .exe, эта часть программы не работает.
Сборки, которые я использую для этого проекта, перечислены ниже, если это может помочь.
C:\Windows\assembly\GAC_MSIL\Office\15.0.0.0__71e9bce111e9429c\Office.dll
C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.DataSetExtensions.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Deployment.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Drawing.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Net.Http.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Windows.Forms.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.Linq.dll
C:\Windows\assembly\GAC_MSIL\Microsoft.Vbe.Interop\15.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.dll
Любая помощь будет принята с благодарностью!