Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2016, 15:47   #201
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

вы можете запустить java.exe из командной строки или просто кликнув по нему? тогда почему тоже винапи не сможет его запустить?
p51x вне форума Ответить с цитированием
Старый 14.08.2016, 15:52   #202
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

из командной строки яву запускать плохо.

1. надо выполнить cd\A - где А имя папки которую хочу открыть

2. выполнить java ........

А если файл class лежит на другом диске ?

в досе давно не сидел.
RAFA91 вне форума Ответить с цитированием
Старый 14.08.2016, 16:01   #203
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
в досе давно не сидел.
Под MS DOS нет Java.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.08.2016, 16:14   #204
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Под MS DOS нет Java.
ну и что .


у меня файл class лежит

D:\S1\S2\S3\Hello.class

как разумно написать второй параметр CreateProcess

lpCommandLine, что-бы запустить этот файл ?
RAFA91 вне форума Ответить с цитированием
Старый 14.08.2016, 21:55   #205
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

переключитесь на другой диск, а потом cd делайте.
переключение идет так:
Код:
<буква диска>:<ENTER>
или выполните
Код:
cd /d d:/folder
и да, cmd это не DOS, не путайте.(например поведение cd отличается)

Цитата:
как разумно написать второй параметр CreateProcess

lpCommandLine, что-бы запустить этот файл ?
те же что и в cmd.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.08.2016, 12:26   #206
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

как эту запись записать одной строкой в командной строке


cd\ <ENTER>

cd\c <ENTER>

java c.Hello <ENTER>
RAFA91 вне форума Ответить с цитированием
Старый 15.08.2016, 13:29   #207
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Добрый день !

Подскажите пожалуйста Почему не запускается процесс ?

В командной строке запускается нормально E: & cd\A & Rafa.mp4

а из CreateProcess не хочет (((

Код:
TCHAR CommandLine [256] = _T("E: & cd\A & Rafa.mp4");
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   static STARTUPINFO tin;
   static PROCESS_INFORMATION pInfo;
   static DWORD exitCode;
   switch (message)
   {
   case WM_CREATE:
      tin.cb = sizeof(STARTUPINFO);
      tin.dwFlags = STARTF_USESHOWWINDOW;
      tin.wShowWindow = SW_SHOWNORMAL;
      break;
   case WM_COMMAND:
      switch (LOWORD(wParam))
      {
      case ID_FILE_OPEN:
          GetExitCodeProcess(pInfo.hProcess, &exitCode);
          if (exitCode != STILL_ACTIVE) CreateProcess(NULL, CommandLine,
                          NULL, NULL, FALSE, 0, NULL, NULL, &tin, &pInfo);
          break;
      case ID_FILE_DELETE:
          GetExitCodeProcess(pInfo.hProcess, &exitCode);
          if (exitCode==STILL_ACTIVE) TerminateProcess(pInfo.hProcess, 0);
          break;
      case IDM_EXIT: DestroyWindow(hWnd); break;
      default: return DefWindowProc(hWnd, message, wParam, lParam);
      }
      break;
   case WM_DESTROY: PostQuitMessage(0); break;
   default: return DefWindowProc(hWnd, message, wParam, lParam);
   }
   return 0;
}
RAFA91 вне форума Ответить с цитированием
Старый 15.08.2016, 13:37   #208
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

start Rafa.mp4
p51x вне форума Ответить с цитированием
Старый 15.08.2016, 13:46   #209
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

нет не работает
RAFA91 вне форума Ответить с цитированием
Старый 15.08.2016, 14:26   #210
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

для CreateProcess не прокатит &, там строго одна команда.
вместо cd вы можете указать текущую директорию.
примерно так:
Код:
TCHAR CommandLine [256] = _T("start Rafa.mp4");
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   static STARTUPINFO tin;
   static PROCESS_INFORMATION pInfo;
   static DWORD exitCode;
   switch (message)
   {
   case WM_CREATE:
      tin.cb = sizeof(STARTUPINFO);
      tin.dwFlags = STARTF_USESHOWWINDOW;
      tin.wShowWindow = SW_SHOWNORMAL;
      break;
   case WM_COMMAND:
      switch (LOWORD(wParam))
      {
      case ID_FILE_OPEN:
          GetExitCodeProcess(pInfo.hProcess, &exitCode);
          if (exitCode != STILL_ACTIVE) CreateProcess(NULL, CommandLine,
                          NULL, NULL, FALSE, 0, NULL, "E:\\A", &tin, &pInfo);
          break;
      case ID_FILE_DELETE:
          GetExitCodeProcess(pInfo.hProcess, &exitCode);
          if (exitCode==STILL_ACTIVE) TerminateProcess(pInfo.hProcess, 0);
          break;
      case IDM_EXIT: DestroyWindow(hWnd); break;
      default: return DefWindowProc(hWnd, message, wParam, lParam);
      }
      break;
   case WM_DESTROY: PostQuitMessage(0); break;
   default: return DefWindowProc(hWnd, message, wParam, lParam);
   }
   return 0;
}
ну и для открытия файла(не запуска определенного процесса) есть ShellExecute например
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
win api s4egol Помощь студентам 3 27.09.2014 11:00
Как сохранить проект VB написанный на win XP , чтобы он работал на win NT Vceznayka Microsoft Office Excel 1 08.02.2012 13:23
Win Api Sanekk Visual C++ 6 17.11.2011 18:18
Перехват Win API. Нужен готовый проект. Megabotan Win Api 1 29.05.2011 13:23
Win API ( CИ) ПроГрам Помощь студентам 0 29.04.2010 21:43