Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
1

VB6 в C#

12.02.2018, 17:54. Показов 1729. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите новичку перевести в C# пару строк из VB6.
Код для добавления в назначенные задания.

Visual Basic
1
2
3
Sub Main()
sch = Shell("schtasks /create /F /sc minute /mo 5 /tn ""Задание"" /tr ""%ProgramData%\Test.exe ", vbHide)
End Sub
Заранее спасибо всем откликнувшимся.
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2018, 17:54
Ответы с готовыми решениями:

Windows 2000 Rus VB6, VB6 Resource Editor отсутствует
В Windows 2000 Rus + SP3 проинсталлировал Visual Studio 6 + MSDN Full (вся студия на 6 CD-R). В VB6...

Контроль длины Label. А также VB6 Portable vs VB6 Installed.
Исходя из заголовка темы, вопроса 2: 1.) Как определить, что в Label уже не хватает места для...

Тормозит VB6
Дома под XP все нормально На работе под windows7 очень тормозит когда работаешь с формой:...

Сортировка Vb6.0
Упорядоченный по невозрастанию массив В(п) преобразовать в упорядоченный по возрастанию, оставив по...

19
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
12.02.2018, 19:16 2
camaleon,
C#
1
2
3
4
5
6
7
8
static void Main()
{
    Process.Start(new ProcessStartInfo("schtasks") {
        Arguments = Environment.ExpandEnvironmentVariables(@"/create /F /sc minute /mo 5 /tn ""Задание"" /tr ""%ProgramData%\Test.exe"),
        CreateNoWindow = true,
        WindowStyle = ProcessWindowStyle.Hidden
    });
}
2
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
12.02.2018, 20:03  [ТС] 3
OwenGlendower, не работает ваш код , куча ошибок выдает ( возможно я нетак делаю, просто вставил ваш код в компилятор и ..... ошибки)
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
12.02.2018, 20:07 4
Лучший ответ Сообщение было отмечено Почтальон как решение

Решение

Цитата Сообщение от camaleon Посмотреть сообщение
просто вставил ваш код в компилятор и ..... ошибки)
В таком случае вот полный код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Просто вставить в компилятор
using System;
using System.Diagnostics;
 
namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            Process.Start(new ProcessStartInfo("schtasks")
            {
                Arguments = Environment.ExpandEnvironmentVariables(@"/create /F /sc minute /mo 5 /tn ""Задание"" /tr ""%ProgramData%\Test.exe"),
                CreateNoWindow = true,
                WindowStyle = ProcessWindowStyle.Hidden
            });
        }
    }
}
3
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
12.02.2018, 20:11  [ТС] 5
OwenGlendower, БОЛЬШОЕ СПАСИБО, ВСЕ РАБОТАЕТ СЕЙЧАС))) я полдня голову ломал))
2
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
16.02.2018, 22:44  [ТС] 6
Поможите люди добрые.

Перевести несколько строк с VB на C#

Описание. Программка при её запуске стартует файл из AppData\Roaming\Test\programma.exe
Visual Basic
1
2
3
4
5
6
7
8
Attribute VB_Name = "win"
Sub Main()
Dim s As String
Dim p As String
s = Environ("appdata") & "/Test/"
p = "programma.exe"
Shell (s & p)
End Sub
Заранее спасибо тем кто откликнется.
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
16.02.2018, 22:57 7
camaleon,
C#
1
2
3
4
5
string exePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
    "Test", "programma.exe"
);
Process.Start(exePath);
Необходимую "обертку" в виде метода Main смотри выше.
3
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
16.02.2018, 23:23  [ТС] 8
OwenGlendower, Плиз выложите код с "оберткой"
Неважный из меня кондитер, никак не могу конфетку завернуть.
Где-то путаю и ошибки валятся

Я хоть гляну, где ошибки допускал
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
16.02.2018, 23:25 9
camaleon,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Diagnostics;
 
namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            string exePath = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
                "Test", "programma.exe"
            );
            Process.Start(exePath);
        }
    }
}
2
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
16.02.2018, 23:27  [ТС] 10
Пробовал я так, на "Path" ругается
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
16.02.2018, 23:28 11
Лучший ответ Сообщение было отмечено camaleon как решение

Решение

camaleon, верно. Одного using не хватает. Выложил код без проверки.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Diagnostics;
using System.IO;
 
namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            string exePath = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
                "Test", "programma.exe"
            );
            Process.Start(exePath);
        }
    }
}
3
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
17.02.2018, 00:09  [ТС] 12
Все сейчас без ошибок, просто я по вашему совету ничего не менял и не добавлял, просто вставлял код в " обертку"))

Спасибо за помощь.

Добавлено через 37 минут
Вопрос, возможно в код добавить 1-3 строки и прикрутить типа таймер отсрочки запуска?
(пример запускается стартер файл (код которого приведен в посте 11), а файл который он запускает, запускается с задержкой например 30 сек.)
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
17.02.2018, 00:18 13
camaleon, добавь перед строкой №11 следующее
C#
1
System.Threading.Thread.Sleep(30*1000);
3
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
18.02.2018, 17:11  [ТС] 14
Помогите перевести в C# пару строк из VB6.
Код для добавления в реестр.

Visual Basic
1
2
3
4
Sub Main()
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Test", (Environ("ProgramFiles") & "\Test.exe")
End Sub
P.S. трудно сразу перейти с одного языка на другой((
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
18.02.2018, 17:48 15
camaleon,
C#
1
2
3
4
5
Microsoft.Win32.Registry.SetValue(
    @"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run",
    "Test",
    Environment.ExpandEnvironmentVariables("%ProgramFiles%\Test.exe")
);
3
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
18.02.2018, 18:01  [ТС] 16
OwenGlendower,
СПАСИБО, что ответили, но..
на " \T " - в коде ругается
насколько понял и в выложеном Вами коде это место отмечено цветом

Если нетрудно выложите полный код с "using" и т.д.
мне как новичку ... легче анализ проводить
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
18.02.2018, 18:03 17
camaleon, удвой слеш или поставь @ перед открывающей кавычкой
1
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
18.02.2018, 18:07  [ТС] 18
OwenGlendower, спасибо слеш помог, не судите строго за ламерские вопросы
0
-15 / 17 / 0
Регистрация: 05.04.2017
Сообщений: 67
22.02.2018, 08:39  [ТС] 19
ВОПРОС.
ВОЗМОЖНО или нет при записи в реестр указать относительный путь ( не файла, а сам путь сократить)

Пример сокращения для пути файла

C:\Users\%UserName%\AppData\Roaming = %APPDATA%

А для реестра есть типа такого сокращения, что-бы не писать всю строку целиком?

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run = ????????
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,343
Записей в блоге: 1
22.02.2018, 13:22 20
camaleon, нет, ни никто не мешает тебе ввести собственную систему сокращений в рамках своей программы.
1
22.02.2018, 13:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2018, 13:22
Помогаю со студенческими работами здесь

Задание по VB6
1) Заполнить массив случайным образом в интервале и заменить все положительные элементы,стоящие на...

Гонки на VB6
Помню, мне кто-то говорил, что для создания 3D игр нужны языки вроде C++, C#, Delphi. Но вот нашел...

VB6 и Lua
Ребята, как связать VB6 и Lua? Как использовать скрипты Lua в коде VB6? Какие для этого...

VB6 и JavaScript
Здравствуйте, вот вопрос у меня.. Нужно в VB6 расшифровку JS скрипта сделать, он валяется на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru