Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > C/C++: Системное программирование и WinAPI > ServiceMain и аргументы |
Автор: Парамон 02.02.17, 08:55 |
В функции ServiceMain в lpszArgv аргументы мне постоянно приходят в unicode, хотя на msdn описано как LPTSTR *lpszArgv и проект у меня без поддержки юникода. Так и должно быть? |
Автор: ЫукпШ 04.02.17, 22:01 |
Да вроде нет. Подробного исследования я не делал, просто пересобрал сервис как ASCII. Ничего не изменилось, параметр выводится правильно. Но параметр у меня один, и он латинскими буквами. |
Автор: Парамон 05.02.17, 15:17 |
У меня тоже параметр латиницей, но тем не менее приходит только в юникоде Всё бы ничего если бы я знал что так будет на всех компьютерах а не только у меня. |
Автор: shm 05.02.17, 16:00 |
А если явно StartServiceCtrlDispatcherA заюзать? |
Автор: ЫукпШ 05.02.17, 17:40 |
По-байтно разобрал параметр. Всё в порядке. Система WinXP SP3, WIN7. А компилятор у тебя какой ? --- Mогу передать тебе "рыбу"-сервис. Для выяснения - это особенности только твоей системы или нет ? |
Автор: Олег М 06.02.17, 10:49 |
Цитата Парамон @ В функции ServiceMain в lpszArgv аргументы мне постоянно приходят в unicode, хотя на msdn описано как LPTSTR *lpszArgv и проект у меня без поддержки юникода. Так и должно быть? Т.е LPTSTR у тебя раскрывается как char *, т.е. ascii, а строка, на которую указывает lpszArgv - в unicode? |