2016-08-22 7 views
-1

я пытаюсь запустить пакетный файл, используя Qt, пакетный файл использует nircmd.exe программу и выглядит следующим образом:пакетный файл, который использует nircmd.exe

@echo off 
nircmd setprimarydisplay 2 
timeout /t 10 
nircmd setprimarydisplay 1 
exit 

и я пытаюсь запустить эту линию в QT:

QProcess::startDetached("cmd", QStringList() << "/c" << "C:\\Users\\User\\Desktop\\tmp.bat"); 

, когда я бегу мой код QT он говорит: «„NirCmd“не распознается как внутренней или внешней командой, исполняемой программой или пакетным файлом.»

nircmd.exe находится в каталоге c: \ windows \ system32, путь к компьютеру находится в нужном месте.

В чем может быть проблема?

Благодаря

+1

ли работа при запуске пакетного файла вручную из командной строки ? – isanae

+0

Несоответствие архитектуры x86/x64 может быть проблемой. – kefir500

+0

, когда я запускаю его из командной строки, он действительно работает. только когда я использую qt, это не – biramb

ответ

0

меня понять это, проблема была в .bat файл, он должен выглядеть следующим образом:

c:\windows\system32\nircmd setprimarydisplay 2 
+0

'c: \ windows \ system32' должно быть на вашем пути. Если это решает вашу проблему, у вас возникают проблемы с переменной среды PATH. Попробуйте распечатать его в пакетном файле, чтобы выяснить, что он содержит. – isanae

+0

ПУТЬ не была проблемой. , когда вы пытаетесь запустить файл bat из команд qt или cmd, это может создать проблему и не сможет найти nircmd (в данном случае), поскольку моя ОС 64 бит, поэтому она ищет nircmd.exe в c: \ windows \ sysWOW64 вместо этого – biramb

Смежные вопросы