Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Расчет процента троек, четверок и пятерок Условие: В классе N учеников. После контрольной было получено: A - пятерок, B - четверок, C -троек. Найти процент троек, четверок и пятерок. Я создал windows forms поставил четыре label и четыре texbox оценки и проценты для ввода данных, поставил кнопку button в нее ввел код, но в итоге программа не работает почему? Вот код using System; using System.Linq; class Program { public... https://www.cyberforum.ru/ windows-forms/ thread1901020.html C# Не работает блок try. catch
Добрый вечер! Столкнулась с такой проблемой - при вводе некорректного значения в текстбокс, защитный блок try...catch не работает. Хотелось бы узнать причину... Может кто чего подскажет... Код представлен: try { N = int.Parse(textBox1.Text); nzn = int.Parse(textBox2.Text); kzn = int.Parse(textBox3.Text); } ...
C# Создание словаря https://www.cyberforum.ru/ windows-forms/ thread1901003.html
Здравствуйте. Хотел бы создать програмку для себя. Типа переводить английские предложения. Как лучше реализовать хранение этих английских предложений. Создать коллекцию, если да то какую Dictionary или какую то другую? Или создать БД и туда поместить все данные?
C# Почему-то 2 раза появляется MessageBox https://www.cyberforum.ru/ windows-forms/ thread1901001.html
Всем привет, 2 раза появляется диалог в чём беда? if(exito == 0) { MessageBox.Show("не подобран, остановлено.", "Результат"); timer2.Enabled = false; notifyIcon1.Icon = SystemIcons.Application; //Уведомление notifyIcon1.BalloonTipText = "не подобран, остановлено."; notifyIcon1.ShowBalloonTip(1000);
C# Как загрузить вордовский текст в компонент TextBox?
Как загрузить вордовский текст в компонент TextBox? И какой компонент можно использовать для загрузки видео?
C# С потоком программа работает как и без него Всем привет! Сделал программу, и решил добавить потоки, но так как не очень давно работаю с C# то не знал как, в инете нашел вот такой вот способ, сделал и программа работает с потоком так же как и без него, то есть нельзя ничего делать пока работает поток Вот фото https://www.cyberforum.ru/ windows-forms/ thread1900872.html
C# Как написать ссылку из одной формы в другую (при нажатии кнопки) Как написать ссылку из одной формы в другую (при нажатии кнопки) https://www.cyberforum.ru/ windows-forms/ thread1900868.html Параметры из ComboBox C#
Нужно чтоб,вместо того как он прописывает сейчас в Name EASY/HARD нужно чтоб он прописал при выборе EASY - Yes HARD- No в поле "dr -a strart" + Name//сюда +".grecho -u " + textBox1.Text + " -x -x" Пример кода который есть private void button1_Click(object sender, EventArgs e) { System.IO.File.WriteAllText( Application.StartupPath + "\\run.bat", "dr -a...
C# Метод Thread.Suspend(),Thread.Resume() https://www.cyberforum.ru/ windows-forms/ thread1900835.html
Здравствуйте,пытаюсь сделать игру простенькую в Windows Form. И хочу,чтобы в ней было включено нажатие на паузу и возобновление, для этого видел методы: Thread.Suspend(),Thread.Resume(). Однако читал,что они устарели и лучше их не использовать. Вопрос чем я могу их заменить ? Ведь исп. этих методов очень простое.
C# Как в textbox вывести слова (словосочетания) в строку? В данном пример вывод слов происходит в столбик. Я хочу заменить listbox на textbox. public partial class Form1 : Form { VoceDecoder Decoder; Action<Form1 ,string> addLog = new Action<Form1, string>((tar, text) => { tar.listbox.Items.Add( text); }); https://www.cyberforum.ru/ windows-forms/ thread1900818.html
Как преобразовать код из Program.cs к более привычному виду WindowsForms? C#
На форуме встретился пример WindowFormsApplication, код которого полностью помещается в файле Program.cs (форма и кнопка создаются программно и т.д.). Как его преобразовать к виду проекта, в котором форма и кнопка созданы в дизайнере и для описания событий используются стандартные обработчики. (Пытался поискать автора, не нашёл. Не обижайтесь пожалуйста.) Вот код Program.cs: using System;...
C# Распознование номерного знака. Библиотека OpenALPR Привет. Кто-то может пользовался этой библиотекой? Что-то не могу понять как ее в свое приложение интегрировать. Сама библиотека тут: https://github.com/openalpr/openalpr Ее возможно подключить много куда, но меня интересует c#. Есть пример подключения: using openalprnet; var alpr = new AlprNet("us", "/path/to/openalpr.conf", "/path/to/runtime_data"); if (!alpr.IsLoaded()) { ... https://www.cyberforum.ru/ windows-forms/ thread1900724.html
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 1
0

Запуск клиента Minecraft через JNI - C# - Ответ 10008789

15.01.2017, 20:57. Показов 3727. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Как запустить клиент Minecraft через JNI в C#? Использую JNI, скачанную от сюда
P.S. Код, реализующий запуск клиента через JNI на C++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <jni.h>
#include <windows.h>
#include <tchar.h>
 
#define JAVA_HOME "C:\\Program Files\\Java\\jre8"
#define GAME_PATH "C:\\Users\\Алексей\\AppData\\Roaming\\.minecraft"
 
typedef jint (JNICALL *JNI_CREATEJAVAVM)(JavaVM **, JNIEnv **, void *);
JNI_CREATEJAVAVM jni_JNI_CreateJavaVM = NULL;
 
int _tmain(int argc, _TCHAR* argv[])
{
#pragma region ЭТАП I: начальная инициализация
    HMODULE hJvm = ::LoadLibrary(_T(JAVA_HOME) _T("\\bin\\server\\jvm.dll"));
 
    jni_JNI_CreateJavaVM = (JNI_CREATEJAVAVM)GetProcAddress(hJvm, "JNI_CreateJavaVM"); //Получаем адреес функции в dll
   
 
    /*
        Для запуска клиента игры необходимо указать виртуальной машине java
        где находятся классы клиента и нативные библиотеки
    */
    JavaVMOption options[2];
    options[0].optionString = "-Djava.class.path=" GAME_PATH "\\bin\\lwjgl_util.jar;"
                                                  GAME_PATH "\\bin\\lwjgl.jar;"
                                                  GAME_PATH "\\bin\\jinput.jar;"
                                                  GAME_PATH "\\bin\\minecraft.jar;";
 
    options[1].optionString = "-Djava.library.path=" GAME_PATH "\\bin\\natives";
   
 
    //Формируем опции запуска виртуальной машины
    JavaVMInitArgs args;
    args.options = options;
    args.nOptions = 2; // Количество опций
    args.ignoreUnrecognized = FALSE;
    args.version = JNI_VERSION_1_6;
 
    //Вспомогательные классы, олицитворяющие виртуальную машину Java и среду выпонения
    JavaVM* jvm = NULL;
    JNIEnv* env = NULL;
 
    //Вызываем функцию JNI_CreateJavaVM из dll адресс которой получили ранее
    jni_JNI_CreateJavaVM(&jvm, &env, &args);
#pragma endregion
    /* На данный момен у нас создана виртуальная машина, теперь нам нужно запустить сам клиент */
#pragma region ЭТАП II: Модифицируем стандартный MinecraftApplete
 
        /* Создание класса MinecraftApplete */
        jclass class_appletStub = env->FindClass("asf"); // Получение класса реализующего интерфей AppletStub (Minecraft 1.4.6)
        jmethodID mtid_appletStub = env->GetMethodID(class_appletStub, "<init>" , "(Ljava/util/Map;)V"); // Получаем метод конструктора
       
        jobject obj_hashMap = env->NewObject(env->FindClass("java/util/HashMap"), env->GetMethodID(env->FindClass("java/util/HashMap"), "<init>", "()V"));
        jmethodID mtid_put =  env->GetMethodID(env->FindClass("java/util/HashMap"), "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
       
        //Ради чего весь геморой, это установить данные параметры
        env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("username"),        env->NewStringUTF("Racvol"));
        env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("stand-alone"),    env->NewStringUTF("true"));
        env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("demo"),            env->NewStringUTF("false"));
        env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("fullscreen"),    env->NewStringUTF("false"));
        env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("sessionid"),    env->NewStringUTF("-"));
        //env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("server"),        env->NewStringUTF("127.0.0.1"));
        //env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("port"),        env->NewStringUTF("25555"));
       
        jobject obj_appletStub = env->NewObject(class_appletStub, mtid_appletStub, obj_hashMap); // Создаем обьект полученного типа реализующего AppletStub
 
        jobject obj_minecraftApplet = env->NewObject(env->FindClass("net/minecraft/client/MinecraftApplet"), env->GetMethodID(env->FindClass("net/minecraft/client/MinecraftApplet"), "<init>", "()V"));// Создаем стандартный MinecraftApplet
       
        // Вызываем функцию setStub и передаем в качестве аргумента модифицированный appletStub
        env->CallVoidMethod(obj_minecraftApplet, env->GetMethodID(env->GetObjectClass(obj_minecraftApplet), "setStub", "(Ljava/applet/AppletStub;)V"), obj_appletStub);
#pragma endregion
#pragma region ЭТАП III: Запуск клиента игры
        /* Запуск клиента будет осущесвляться по нижеследающему Java алгоритму*/
        /*
            JFrame frame = new JFrame();
            frame.setTitle("My Minecraft Title");
            frame.setSize(854, 480);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
 
            BorderLayout borderLayout = new BorderLayout();
            appletStub.setLayout(borderLayout);
            appletStub.add(minecraftApplet, BorderLayout.CENTER);
            appletStub.validate();
           
            frame.add(appletStub, BorderLayout.CENTER);          
            frame.validate();
 
            minecraftApplet.init();
            minecraftApplet.start();  
        */
 
        jobject obj_frame = env->NewObject(env->FindClass("javax/swing/JFrame"), env->GetMethodID(env->FindClass("javax/swing/JFrame"), "<init>", "()V"));      
        env->CallVoidMethod(obj_frame, env->GetMethodID(env->GetObjectClass(obj_frame), "setTitle", "(Ljava/lang/String;)V"), env->NewStringUTF("My Minecraft Title"));
        env->CallVoidMethod(obj_frame, env->GetMethodID(env->GetObjectClass(obj_frame), "setSize", "(II)V"), 854, 480);
        env->CallVoidMethod(obj_frame, env->GetMethodID(env->GetObjectClass(obj_frame), "setDefaultCloseOperation", "(I)V"), 3);
        env->CallVoidMethod(obj_frame, env->GetMethodID(env->GetObjectClass(obj_frame), "setVisible", "(Z)V"), (jboolean)true);
 
        jobject obj_borderLayout = env->NewObject(env->FindClass("java/awt/BorderLayout"), env->GetMethodID(env->FindClass("java/awt/BorderLayout"), "<init>", "()V"));
        env->CallVoidMethod(obj_appletStub, env->GetMethodID(env->GetObjectClass(obj_appletStub), "setLayout", "(Ljava/awt/LayoutManager;)V"), obj_borderLayout);
        env->CallVoidMethod(obj_appletStub, env->GetMethodID(env->GetObjectClass(obj_appletStub), "add", "(Ljava/awt/Component;Ljava/lang/Object;)V"), obj_minecraftApplet, env->NewStringUTF("Center"));
        env->CallVoidMethod(obj_appletStub, env->GetMethodID(env->GetObjectClass(obj_appletStub), "validate", "()V"));
 
        env->CallVoidMethod(obj_frame, env->GetMethodID(env->GetObjectClass(obj_frame), "add", "(Ljava/awt/Component;Ljava/lang/Object;)V"), obj_appletStub, env->NewStringUTF("Center"));      
        env->CallVoidMethod(obj_frame, env->GetMethodID(env->GetObjectClass(obj_frame), "validate", "()V"));  
 
        env->CallVoidMethod(obj_minecraftApplet, env->GetMethodID(env->GetObjectClass(obj_minecraftApplet), "init", "()V"));
        env->CallVoidMethod(obj_minecraftApplet, env->GetMethodID(env->GetObjectClass(obj_minecraftApplet), "start", "()V"));
 
#pragma endregion
        // Ставим паузу на основной поток, при завершении основного потока, завершают свою работы все дочерние потоки
        Sleep(100000000);
    return 0;


Вернуться к обсуждению:
Запуск клиента Minecraft через JNI C#
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2017, 20:57
Готовые ответы и решения:

Запуск приложения Java через Delphi JNI
Здравствуйте уважаемые программисты. Не могли бы вы мне показать как можно(пример) запустить...

Запуск minecraft 1.12.2 через bat
Доброго времени суток! Пытаюсь запустить майн 1.12.2 через батник(нужно для лаунчера), но не...

Запуск minecraft 1.12.2 с forge и liteloader ВМЕСТЕ через bat
Доброго времени суток! Уже несколько дней бьюсь над одной проблемой - запуск minecraft 1.12.2 с...

Запуск клиента 7.0 через Terminal Server W2k3
Доброго времени суток всем, кто это читает! Я решил попробовать организовать работу почтового...

0
15.01.2017, 20:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2017, 20:57
Помогаю со студенческими работами здесь

Запуск программы с сервера, а не с машины клиента, через браузер
Суть такова: Есть программа, написана на Team Developer 6.1. Нужно что бы программа запускалась с...

Запуск SSH-клиента через BAT-файл с заданными IP-адресом, логином и паролем
Требуется запустить SSH клиент через .bat файл(создать батник) с автозаполненным IP-адресом(если...

Запуск minecraft из лаунчера
Здравствуйте. Не особо смог найти информацию/какое либо разъяснение по процессу запуска майнкрафта...

Запуск Minecraft: Java не переустанавливается
Много слышал от друзей про игру Minecraft. Ну решил сам погамать) Скачал, установил. Включаю -...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru