powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Device Manager (Диспетчер Устройств) не открывается нормально из кода на Win10 1709
3 сообщений из 3, страница 1 из 1
Device Manager (Диспетчер Устройств) не открывается нормально из кода на Win10 1709
    #39566006
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При программной установке "девайсов",
у меня прога показывает юзеру Device Manager (Диспетчер Устройств), даб ему не сильно скушно было (что-то происходит, девайсы какие-то устанавливаются).

В основе - командная строка, вот эта:
Код: vbnet
1.
rundll32.exe devmgr.dll, DeviceManager_Execute



Код простенький, лет 10 ему, всегда и везде работал:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    Shell_Net("rundll32.exe", "devmgr.dll, DeviceManager_Execute", ProcessWindowStyle.Normal)


  Public Sub Shell_Net(ByVal PathName As String, _
                       Optional ByVal Parameters As String = vbNullString, _
                       Optional ByVal Style As ProcessWindowStyle = ProcessWindowStyle.Normal)
    Dim ExecInfo As New ProcessStartInfo
    With ExecInfo
      .FileName = PathName
      .Arguments = Parameters
      .WindowStyle = Style
    End With
    Process.Start(ExecInfo)
  End Sub



На сборке Win10 v.1709 стал выводить msgbox (как на скриншоте),
типа "диспетчер работает только для чтения"
это при том что код всегда вызывается под администратором .

Мне в принципе пофиг как он работает, моя цель его показать на экран и мне этот msgbox (который к слову еще и с кнопками в classic-стиле!!! MS жжет) нафиг не нужен.

Пробовал другие варианты:
Код: vbnet
1.
2.
3.
    Shell("rundll32.exe devmgr.dll, DeviceManager_Execute", AppWinStyle.NormalFocus)

    Shell("cmd /c rundll32.exe devmgr.dll, DeviceManager_Execute", AppWinStyle.NormalFocus)


(что в общем тоже самое). На 1709 выводит это дебильное окно. Под админом!!! в том числе. До 1709 такого не было.

А вот если
Пуск -> Выполнить
Пуск -> Командная строка
Пуск -> Командная строка (администратор)
и там вбить эту команду,
то ничего подобного не выводится, просто запускает Device Manager.

И че стало не хватать приложению? Привилегий каких?
Есть идеи? (кроме идеи не пытаться вообще выводить диспетчер)
...
Рейтинг: 0 / 0
Device Manager (Диспетчер Устройств) не открывается нормально из кода на Win10 1709
    #39566064
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,
Сообщение окну по win api close?
...
Рейтинг: 0 / 0
Device Manager (Диспетчер Устройств) не открывается нормально из кода на Win10 1709
    #39566099
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Дмитрий77,
Сообщение окну по win api close?
Не, эта хрень (в смысле диспетчер устройств) по другому закрывается:
Код: vbnet
1.
2.
    'закрываем Диспетчер Устройств
    Shell_Net("cmd", "/c taskkill.exe /f /im mmc.exe", ProcessWindowStyle.Hidden)


(уродину - msgbox на 1709 эта команда кстати тоже закроет)
по "win api close" ты его как ловить будешь? С учетом локализации?

Короче разрулил, вот так выводит "диспетчер" без msgbox на 1709:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    'открываем Диспетчер Устройств
    If sys_WinXP Or sys_Win2003 Then
      Try : Shell_Net("mmc.exe", "devmgmt.msc", ProcessWindowStyle.Normal) : Catch : End Try
    Else
      If sys_Win10 And Environment.OSVersion.Version.Build > 16298 Then ' 16299 == 1709 == Fall Creator Update
        Try : Shell_Net("mmc.exe", "devmgmt.msc", ProcessWindowStyle.Normal) : Catch : End Try
      Else
        Try : Shell_Net("rundll32.exe", "devmgr.dll, DeviceManager_Execute", ProcessWindowStyle.Normal) : Catch : End Try
      End If
    End If


А вообще я этот код на XP еще использовал
Я вот честно уже не помню с какого перепоя я поменял "mmc.exe devmgmt.msc" на "rundll32.exe devmgr.dll, DeviceManager_Execute" начиная с висты.
Но перепроверять на всем что между XP и 1709 неохота, поэтому сойдет двойное условие.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Device Manager (Диспетчер Устройств) не открывается нормально из кода на Win10 1709
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]