Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > CreateProcess |
Автор: killcode 16.11.2011, 18:39 | ||
Считывает имена процессов из файла, но не запускает, возникает ошибка о неправильном пути файла. Пробовал использовать так:_tczcpy(buff,TEXT(n)); тоже самое. Имена файлов заданы правильно: C:\\app1.exe Подскажите плиз, лаба горит)
|
Автор: vol4ek 16.11.2011, 19:17 |
покажи как читаешь файл. |
Автор: Estranged 16.11.2011, 21:37 | ||
Facepalm string line; <------ int mkproc(char *n){ <-------- if(!CreateProcess((LPCWSTR)n,NULL,NULL,NULL,FALSE,0,NULL,NULL,&atr,&inf)){ <----- Почитайте, что за код http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx И проверьте этот код (вставьте одну строку: LPCWSTR lp = (LPCWSTR)n;), в отладчике поглядите на строку lp. Красивая строка? Система ищет как раз вот это имя.
|
Автор: bass 16.11.2011, 22:14 |
так сначала попробуй... CreateProcess("C:\\app1.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,&atr,&inf) Если так запустит то смотри функцию работы со строками..... Лучше в отладчике.... Если нет то смотри что с C:\\app1.exe может для работы какой то длл не хватает и приложение падает.... |
Автор: volatile 16.11.2011, 23:19 |
Здесь же явно - несоотвествие юникодного проекта, и ансишного файла. От такого приведения, строка юникодной не станет. Проект нужно делать не юникодным, и убирать приведения. |
Автор: killcode 17.11.2011, 18:08 |
Всем спасибо, разобрался! |
Автор: Dem_max 18.11.2011, 11:42 | ||
Никогда не нужно делать такого глупого приведения |