API ShellExecute непрально работает с путём из русских букв

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SBJocker
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 19.01.2004 (Пн) 16:57

API ShellExecute непрально работает с путём из русских букв

Сообщение SBJocker » 19.01.2004 (Пн) 20:39

Вобщем если я запускаю прогу с её помощью и передаю ей параметр - путь к файлу в папке "мои доки" то прога ругается на несущ. путь, и естественно его приводит в сообщении об ошибке, но там в нём все русские буквы заменены на псевдо символы как в досе. Что делать?

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 20.01.2004 (Вт) 1:08

В смысле длинный путь заменен на короткий или как?

SBJocker
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 19.01.2004 (Пн) 16:57

Сообщение SBJocker » 20.01.2004 (Вт) 12:03

Длина какая была - такая и осталась, а вот русские буквы покарёжило в другие символы, так что путь получился неправильный!

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 20.01.2004 (Вт) 14:03

Может дело в этом:

32-разрядные версии Visual Basic используют Unicode для внутреннего хранения строковых переменных. Однако при обращении к API- или DLL-функциям, описанным с помощью оператора Declare, производится автоматическое преобразование символьных данных в ANSI (а потом — обратно). Таким образом, при работе с VB нужно обращаться к ANSI-варианту API-функций как в Windows 9x, так и Windows NT.

SBJocker
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 19.01.2004 (Пн) 16:57

Сообщение SBJocker » 20.01.2004 (Вт) 20:18

Ну и как же будет зваться такая фукция если в API тока одна ShellExecute?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList