Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы русского языка в Delphi, ????????? ? ??????? - Одни вопросы 
:(
    Опции темы
Alexeis
Дата 14.7.2006, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Yanis че`т я не понял последнего поста.
Про MSDN я и сам знаю, по нему и писал пост....?????

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



 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 14.7.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



alexeis1, Snowy имел ввиду запуск дочернего (или не дочернего) процесса и уже "из него" вызвать SetThreadLocale путём вызова CreateRemoteThread(hRemouteProc, ..... Тока перед этим надобно память выделить в процессе кажется smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 14.7.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Yanis @  14.7.2006,  11:13 Найти цитируемый пост)
запуск дочернего (или не дочернего) процесса

Это что-то новенькое, про дочерний поток я слышал, а проэто нет!

Цитата(Yanis @  14.7.2006,  11:13 Найти цитируемый пост)
уже "из него" вызвать SetThreadLocale

Так как же я могу это сделать из него - он же чужая программа, не встраивать же в него свой код!

А вот про CreateRemoteThread тоже не слышал - сейчас буду разбираться!

Добавлено @ 11:31 
Ух-ты CreateRemoteThread - это серьезно буду пробовать, а вот
Цитата(Yanis @  14.7.2006,  11:13 Найти цитируемый пост)
 Тока перед этим надобно память выделить в процессе кажется 

этого в helpe я не увидел!
 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 14.7.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



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


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 14.7.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Понял! память нужна если мы хотим передать что-то этому "присосавшемуся" потоку, а если нет, то я думаю можно обойтись nil
Спасибо Yanis! 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 14.7.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



alexeis1
Могу накатать пример с получением командной строки чужого процесса. Суть тут та же: вызов функции GetCommandLine из чужого процесса, т.к. GetCommandLine позволяет получать только "свою" коммандную строку. Правда без CreateRemouteThred, но довольно показательный пример.

P. S. мона и через CreateRemouteThred извратиться, т.к. GetCommandLine возврящает всего 4 байта 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
bems
Дата 14.7.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Тут еще попутно такой вопрос, а не знает кто, как в консоли русский текст нормально выводить? 


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Snowy
Дата 14.7.2006, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Знаем.
Или перекодировать в OEM (AnsiToOEM)
или выводить в юникоде. 
PM MAIL   Вверх
Yanis
Дата 14.7.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



bems
В чужой консоли? smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 14.7.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Yanis, Не он в своей, в чужой-то он ничего не выведет smile  


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 14.7.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



SetConsoleCP
SetConsoleOutputCP 
PM MAIL   Вверх
bems
Дата 17.7.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Snowy @  14.7.2006,  14:54 Найти цитируемый пост)
SetConsoleCP
SetConsoleOutputCP  
Вот это и интригует. Вроде функции специально для этого предназанчены, но чтобы заработало так и не вышло  smile 
Цитата(alexeis1 @  14.7.2006,  14:52 Найти цитируемый пост)
Yanis, Не он в своей, в чужой-то он ничего не выведет 
А это как понимать?
 


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Alexeis
Дата 17.7.2006, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(bems @  17.7.2006,  08:45 Найти цитируемый пост)
А это как понимать?

Я понял, что русский теткст не выводится в консоли написаной вами, а не в программе написанной другим человеком, другими словами вы пытаетесь исправить свои ошибки, а не ошибки автора чужой программы. Вопрос был задан потому, что тема была поднята, как попытка исправить недароботки в чужих программах.  


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Alexeis
Дата 17.7.2006, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Код

program Project1;

{$APPTYPE CONSOLE}
uses
   windows;
procedure MyWriteln(const S: string);
var
  NewStr: string;
begin
  SetLength(NewStr, Length(S));
  CharToOEM(PChar(S), PChar(NewStr));
  Writeln(NewStr);
end;

begin
  MyWriteln('русский язык');
  Writeln('русский язык');
  Readln;
end.
   

Это сообщение отредактировал(а) alexeis1 - 17.7.2006, 09:42


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ramin
Дата 17.7.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.7.2006
Где: Азербаиджан, Баку

Репутация: нет
Всего: нет



Цитата(Oleg @ 30.3.2003,  00:23)
У меня прога, созданная в делфях (все шрифты форм по умолчанию, язык русский), в некоторых аккаунтах винды2000 пишет вместо русских слов ??????? ??? ????? ??? ??, причем на одном и том же компе, просто юзера разные. Просто шрифта не хватает, или нужно чето в проге изменить?

не читал посты который ответили тебя но ты посмотри на Языке и Регионалы... какой чзык там у тя стоит? 
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.