С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286

Как объединить все дополнительные файлы в один

16.08.2014, 13:19. Показов 2533. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть 2 DLL , можно ли их соединить в одну?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.08.2014, 13:19
Ответы с готовыми решениями:

Как объединить все файлы в один код?
На гитхабе нужный мне код разделен на 2 c-файла, и один h-файл. Можно ли как-то их собрать в один большой c-файл?

Как объединить в один все текстовые файлы заданной папки?
Как объединить в один все текстовые файлы заданной папки. Кодировка у всех файлов - CP-1251, такая же кодировка необходима и выходному...

Объединить файлы приложения в один
Здравствуйте. Работаю в Visual Studio 2010. Пишу программу в "windows forms application". В программе использую много изображений....

15
Заблокирован
16.08.2014, 13:36
Декомпилировать и заново скомпилировать.
Если dll управляемые .NET то декомпилировать будет легче.
0
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 13:38  [ТС]
raom, а по другому не как, я хочу объединить XNet.dll и antigate.dll
0
Заблокирован
16.08.2014, 13:41
А зачем это нужно?
Хочешь, чтобы к твоему ехе не нужно было лишние dll прилагать?
Так найди исходный код обоих (если он конечно есть в открытом виде), вставь напрямую в свой проект и скомпилируй.

Добавлено через 43 секунды
Если исходный код обоих DLL есть, то можно еще свою DLL написать, объединив оба кода.
0
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 13:43  [ТС]
raom, чтобы не было мароки, хочу сразу создать одну dll, которую можно потом тегать! в разные проекты!

Добавлено через 1 минуту
raom, могли бы вы это сделать??
0
Заблокирован
16.08.2014, 13:45
Так исходный код обоих DLL есть или нет?

Мог бы, особенно если есть код, но на заказ работаю за деньги, и в выходной - субботу - не работаю.
0
Заблокирован
16.08.2014, 14:11
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
using System;
using System.Collections.Specialized;
using System.Drawing;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
 
namespace SimpleAntiGate
{
    public static class AntiGate
    {
        private const int TryCount = 20;
        private const int WaitMillisecBeforeRequest = 3 * 1000;
 
 
        /// <summary>
        /// Сервер для отправки капчи на распознавание. 
        /// </summary>
        public static string AntiGateServer = "antigate.com";
        /// <summary>
        /// Ваш API ключ с сайта AntiGate.com.<br />
        /// Можно указать его один раз здесь и больше не указывать в функциях.
        /// </summary>
        public static string AntiGateKey;
        /// <summary>
        /// Номер капчи из последнего запроса
        /// </summary>
        public static string LastCaptchaId;
 
        /// <summary>
        /// Получить ваш текущий баланс
        /// </summary>
        /// <param name="antiGateKey">Ваш API ключ с сайта AntiGate.com</param>
        /// <returns>Возвращает баланс в виде строки</returns>
        public static string GetBalance(string antiGateKey = null)
        {
            antiGateKey = antiGateKey ?? AntiGateKey;
            string result;
            using (var webClient = new WebClient())
            {
                result = webClient.DownloadString(string.Format("http://{0}/res.php?key={1}&action=getbalance", AntiGateServer, antiGateKey));
            }
            return result;
        }
 
        /// <summary>
        /// Пожаловаться на неправильно разгаданный текст
        /// </summary>
        /// <param name="captchaId">Номер капчи, которая была разгадана не верно</param>
        /// <param name="antiGateKey">Ваш API ключ с сайта AntiGate.com</param>
        /// <returns>Возвращает ответ от сервера</returns>
        public static string ReportBad(string captchaId, string antiGateKey = null)
        {
            antiGateKey = antiGateKey ?? AntiGateKey;
            string result;
            using (var webClient = new WebClient())
            {
                result = webClient.DownloadString(string.Format("http://{0}/res.php?key={1}&action=reportbad&id={2}", AntiGateServer, antiGateKey, captchaId));
            }
            return result;
        }
 
        /// <summary>
        /// Распознать картинку из потока Stream
        /// </summary>
        /// <param name="imageStream">Поток Stream, содержащий картинку</param>
        /// <param name="minLen">Минимальная длина текста</param>
        /// <param name="maxLen">Максимальная длина текста</param>
        /// <param name="isNumeric">Капча состоит только из цифр</param>
        /// <param name="isPhrase">Капча состоит из нескольких слов</param>
        /// <param name="isRegSense">Капча чувствительна к регистру букв</param>
        /// <param name="isCalc">Цифры на капче нужно сосчитать</param>
        /// <param name="isRussian">В капчи присутствует только русский текст</param>
        /// <param name="antiGateKey">Ваш API ключ с сайта AntiGate.com</param>
        /// <returns>Возвращает распознанный текст или текст ошибки</returns>
        public static string Recognize(Stream imageStream, int minLen = 0, int maxLen = 0,
            bool isNumeric = false, bool isPhrase = false, bool isRegSense = false, bool isCalc = false, bool isRussian = false,
            string antiGateKey = null)
        {
            antiGateKey = antiGateKey ?? AntiGateKey;
            byte[] imageData;
            var buffer = new byte[16 * 1024];
            using (var stream = new MemoryStream())
            {
                int read;
                while ((read = imageStream.Read(buffer, 0, buffer.Length)) > 0)
                {
                    stream.Write(buffer, 0, read);
                }
                imageData = stream.ToArray();
            }
 
            var result = Recognize(imageData, minLen, maxLen, isNumeric, isPhrase, isRegSense, isCalc, isRussian, antiGateKey);
 
            return result;
        }
 
        /// <summary>
        /// Распознать картинку из объекта Image
        /// </summary>
        /// <param name="image">Объект типа Image, содержащий картинку</param>
        /// <param name="minLen">Минимальная длина текста</param>
        /// <param name="maxLen">Максимальная длина текста</param>
        /// <param name="isNumeric">Капча состоит только из цифр</param>
        /// <param name="isPhrase">Капча состоит из нескольких слов</param>
        /// <param name="isRegSense">Капча чувствительна к регистру букв</param>
        /// <param name="isCalc">Цифры на капче нужно сосчитать</param>
        /// <param name="isRussian">В капчи присутствует только русский текст</param>
        /// <param name="antiGateKey">Ваш API ключ с сайта AntiGate.com</param>
        /// <returns>Возвращает распознанный текст или текст ошибки</returns>
        public static string Recognize(Image image, int minLen = 0, int maxLen = 0,
            bool isNumeric = false, bool isPhrase = false, bool isRegSense = false, bool isCalc = false, bool isRussian = false,
            string antiGateKey = null)
        {
            antiGateKey = antiGateKey ?? AntiGateKey;
            byte[] imageData;
 
            using (var stream = new MemoryStream())
            {
                image.Save(stream, image.RawFormat);
                imageData = stream.ToArray();
            }
 
            var result = Recognize(imageData, minLen, maxLen, isNumeric, isPhrase, isRegSense, isCalc, isRussian, antiGateKey);
 
            return result;
        }
 
        /// <summary>
        /// Распознать картинку по ссылке или из файла на диске
        /// </summary>
        /// <param name="imageUrlOrFile">Ссылка на картинку капчи или полный путь до картинки на диске</param>
        /// <param name="cookies">Можно передать в функцию куки, для открытия капчи по ссылке, когда это необходимо</param>
        /// <param name="minLen">Минимальная длина текста</param>
        /// <param name="maxLen">Максимальная длина текста</param>
        /// <param name="isNumeric">Капча состоит только из цифр</param>
        /// <param name="isPhrase">Капча состоит из нескольких слов</param>
        /// <param name="isRegSense">Капча чувствительна к регистру букв</param>
        /// <param name="isCalc">Цифры на капче нужно сосчитать</param>
        /// <param name="isRussian">В капчи присутствует только русский текст</param>
        /// <param name="antiGateKey">Ваш API ключ с сайта AntiGate.com</param>
        /// <returns>Возвращает распознанный текст или текст ошибки</returns>
        public static string Recognize(string imageUrlOrFile, string cookies = null, int minLen = 0, int maxLen = 0,
            bool isNumeric = false, bool isPhrase = false, bool isRegSense = false, bool isCalc = false, bool isRussian = false,
            string antiGateKey = null)
        {
            antiGateKey = antiGateKey ?? AntiGateKey;
            byte[] imageData;
            if (imageUrlOrFile.Contains("://"))
            {
                using (var webClient = new WebClient())
                {
                    if (cookies != null) webClient.Headers.Add("Cookie", cookies);
                    imageData = webClient.DownloadData(imageUrlOrFile);
                }
            }
            else
            {
                if (!File.Exists(imageUrlOrFile)) return "ERROR_FILE_NOT_FOUND";
                imageData = File.ReadAllBytes(imageUrlOrFile);
            }
            var result = Recognize(imageData, minLen, maxLen, isNumeric, isPhrase, isRegSense, isCalc, isRussian, antiGateKey);
 
            return result;
        }
 
        /// <summary>
        /// Распознать картинку из массива байт
        /// </summary>
        /// <param name="imageData">Массив байт содержащий картинку</param>
        /// <param name="minLen">Минимальная длина текста</param>
        /// <param name="maxLen">Максимальная длина текста</param>
        /// <param name="isNumeric">Капча состоит только из цифр</param>
        /// <param name="isPhrase">Капча состоит из нескольких слов</param>
        /// <param name="isRegSense">Капча чувствительна к регистру букв</param>
        /// <param name="isCalc">Цифры на капче нужно сосчитать</param>
        /// <param name="isRussian">В капчи присутствует только русский текст</param>
        /// <param name="antiGateKey">Ваш API ключ с сайта AntiGate.com</param>
        /// <returns>Возвращает распознанный текст или текст ошибки</returns>
        public static string Recognize(byte[] imageData, int minLen = 0, int maxLen = 0,
            bool isNumeric = false, bool isPhrase = false, bool isRegSense = false, bool isCalc = false, bool isRussian = false,
            string antiGateKey = null)
        {
            antiGateKey = antiGateKey ?? AntiGateKey;
            var postValues = new NameValueCollection
            {
                { "key", antiGateKey },
                { "method", "base64" },
                { "soft_id", "597" },
                { "body", Convert.ToBase64String(imageData) },
            };
            if (minLen > 0) postValues.Add("min_len", minLen.ToString());
            if (maxLen > 0) postValues.Add("max_len", maxLen.ToString());
            if (isNumeric) postValues.Add("numeric", "1");
            if (isPhrase) postValues.Add("phrase", "1");
            if (isRegSense) postValues.Add("regsense", "1");
            if (isCalc) postValues.Add("calc", "1");
            if (isRussian) postValues.Add("is_russian", "1");
 
            var result = "";
            using (var webClient = new WebClient())
            {
                for (var i = 0; i < TryCount; i++)
                {
                    result = Encoding.UTF8.GetString(webClient.UploadValues("http://" + AntiGateServer + "/in.php", postValues));
                    if (result.Contains("OK|")) break;
                    if (result.Contains("ERROR_NO_SLOT_AVAILABLE"))
                    {
                        Thread.Sleep(WaitMillisecBeforeRequest);
                        continue;
                    }
                    if (result.Contains("ERROR_")) return result;
                    if (!result.Contains("OK|")) return "UNKNOWN_ERROR: " + result;
                }
                if (result.Contains("ERROR_")) return result;
                var captchaId = result.Replace("OK|", "").Trim();
                LastCaptchaId = captchaId;
 
                for (var i = 0; i < TryCount; i++)
                {
                    Thread.Sleep(WaitMillisecBeforeRequest);
                    result = webClient.DownloadString(string.Format("http://{0}/res.php?key={1}&action=get&id={2}", AntiGateServer, antiGateKey, captchaId));
                    if (result.Contains("ERROR_NO_SLOT_AVAILABLE")) continue;
                    if (result.Contains("ERROR_")) return result;
                    if (result.Contains("OK|")) return result.Replace("OK|", "").Trim();
                }
            }
 
            return result;
        }
    }
}
Вот вам код разгадывания капчи можно из класса Image файла или Url разгадывать
0
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 14:17  [ТС]
Butter, Спс, видел это, ты можешь декомпилить одну Dll???
0
Заблокирован
16.08.2014, 14:23
Если она написана на шарпе да если нет то это долго и не благодарно
0
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 14:24  [ТС]
Butter, на C#
0
Заблокирован
16.08.2014, 14:27
Ну скидывайте посмотрим
0
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 14:29  [ТС]
Butter, http://rghost.ru/57497769
вот, держи, если поможешь не обижу в $
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
16.08.2014, 14:35
dimasik9281,
Есть исходники xNet (https://github.com/X-rus/xNet), для antigate вообще никакие не нужны dll у них на сайте есть API
1
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 14:37  [ТС]
XRoy, ммм, Xnet збс! но проблема в куках, там много мороки!
0
Заблокирован
16.08.2014, 15:36
В каких куках проблема у вас?

Добавлено через 13 секунд
Доступ к файлу что вы скинули запрещен!

Добавлено через 4 минуты
Нашел вашу дллку и декомпилировал что вас интересует?
0
1 / 1 / 0
Регистрация: 21.09.2013
Сообщений: 286
16.08.2014, 21:56  [ТС]
Butter, можете дать мне декомпилированую библиотеку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.08.2014, 21:56
Помогаю со студенческими работами здесь

Объединить txt файлы в один
Добрый вечер. Начинал не так давно учиться программировать на VBA по работе нужно, сейчас потихоньку перехожу на VB.net понимаю с...

Как сохранить все wma файлы из папки в один, что бы потом сразу все подгружать?
как сохранить все wma файлы из папки в один, что бы потом сразу все подгружать в файл?

Объединить файлы xml в один и распарсить итог в таблицу
Задача - это некая идея фикс для меня, тем более очень для меня актуальна (нависает прям на до мной)) Поэтому решил попробовать решить ее...

Объединить текстовые файлы из папки и подпапки в один файл
Нужно считать папку и подпапки, парсить все текстовые файлы, которые в них находятся, и создать новый файл, который склеит все те файлы с...

Как объединить все файлы используемые в проекте, чтобы приложение могло спокойно работать на другом компе?
Всем привет, у меня такой вопрос: Вообщем имеется программа в которой допустим 6 кнопочек, нажав на каждую из которых проигрываются...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru