Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1

Запуск определенной формы с помощью if/else, по состоянию значения ключа EnableLUA

17.02.2016, 04:06. Показов 1907. Ответов 22

Студворк — интернет-сервис помощи студентам
Всем привет
я только начал учится и пытаюсь написать прогу которая устанавливает нужный мне софт без участия юзера (запустил и пошел кофе пить)
проблема в том что некоторый софт при запуске запрашивает UAC и нужно нажимать кнопку "да" чтобы чтото установитьб ну и так далее...
Задумка вот какая:
Запуск проги она проверяет значение ключа "EnableLUA" в регистре и открывает форму в зависимости от того какое значение имеет ключ "0" или "1"
Перелапатил уже все что мог но почемуто не получается запустить нужную мне форму
Очень прошу помосчи
мой код:

C#
1
2
3
4
5
6
7
8
9
10
11
RegistryKey readKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);
 
if (readKey.GetValue == "0")
            {
                Application.Run(new CheckBox());
                
            }
            else
            {
                Application.Run(new UACoff());
            }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2016, 04:06
Ответы с готовыми решениями:

Присвоение значения ключа при заполнении формы
У меня в одной форме параллельно заполняются 2 таблицы Klient и Connect, В Клиенте первичный ключ, генерирующийся через auto_increment, в...

Изменение значения элементов формы после нажатия определенной клавиши
Нужно сотворить следующее. Есть форма с кнопкой "Привет", после нажатия на которую появляется сообщение "Привет". Необходимо,...

Нажатие определенной клавиши на клавиатуре = Запуск определенной функции
Здравствуйте. У меня такой вопрос: как при нажатии, к примеру, клавиши "1" на клавиатуре запустить нужную мне функцию (Окно с меню...

22
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18355 / 14281 / 5370
Регистрация: 17.03.2014
Сообщений: 28,962
Записей в блоге: 1
25.04.2016, 23:05
Студворк — интернет-сервис помощи студентам
Steroid, не понял вопроса. При чем здесь cmd? Мы запускаем процесс напрямую.
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
25.04.2016, 23:19  [ТС]
OwenGlendower,
я наверное просто туплю.
но так понял что "Environment.Is64BitProcess" появилась с дотНет 4.0+
если устанавливать чистую Windows 7 SP1 то там по у молчанию установлена дотНет 3.5
столкнулся с этим только при тестировании скрипта, решил переделать в свойствах проэкта нужную дотНет версию с 4.5 на 3.5 и столкнулся с ошибкой в этом месте.
Могу конечно вызвать slui.exe через cmd, но хочется узнать как это по другому сделать

ПыСы: можешь посоветовать книгу по C# ну прям для совсем чайников как я, мой опыт програмирования сводится к небольшим *.bat файлам ну и HTML лет 10 назад писал в блокноте а так дуб дубом

Добавлено через 2 минуты
я еще в "Microsoft Virtual Academy" учу C#, но там бывает всё так замудренно както
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18355 / 14281 / 5370
Регистрация: 17.03.2014
Сообщений: 28,962
Записей в блоге: 1
29.04.2016, 01:06
Цитата Сообщение от Steroid Посмотреть сообщение
я наверное просто туплю.
но так понял что "Environment.Is64BitProcess" появилась с дотНет 4.0+
Ты все правильно понял. Просто вопрос неудачно сформулировал.

Цитата Сообщение от Steroid Посмотреть сообщение
это под дотНэт 3,5 реализовывается только через cmd или тоже както можно через "Environment"? (гуглил но толком ничего не нашел, либо код на "40сторок" либо через cmd)
Здесь можно не мудрить сильно и просто проверять существование одного из файлов. Примерно так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void StartOneProcessAndWait(string path1, string path2)
{
    string path = Environment.ExpandEnvironmentVariables(path1);
    if (!File.Exists(path))
    {
        path = Environment.ExpandEnvironmentVariables(path2);
        if (!File.Exists(path))
        {
            throw new FileNotFoundException();
        }
    }
    
    Process.Start(path).WaitForExit();
}
Использование
C#
1
StartOneProcessAndWait(@"%windir%\sysnative\slui.exe", @"%windir%\system32\slui.exe");
Добавлено через 3 минуты
Цитата Сообщение от Steroid Посмотреть сообщение
можешь посоветовать книгу по C# ну прям для совсем чайников
Я не читал книги по C# для начинающих, но вроде книги Шилдта неплохие.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2016, 01:06

Нужно с помощью функции проверить значения в полях формы.
Помогите новичку. Нужно с помощью функции проверить значения в полях формы. в одной форме нужно ввести имя и фамилию, при этом нельзя...

Защита приложения с помощью ключа
В общем мне нужна помошь. При первом запуске программа должна запрашивать ключ-запрос.Затем мой клиент отправляет мне этот ключ.Генератор...

В зависимости от значения некоторого выражения вычислить значения функции y(x), определенной на отрезке [a;b],
Добрый вечер, помогите пожалуйста решить задачку С++ на тему"Сочетания циклов и разветвлений" В зависимости от значения некоторого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru