CreateProcess
static PROCESS_INFORMATION pi;
BOOL success=FALSE;
ZeroMemory( &si, [/SIZE][SIZE=2][COLOR=#0000ff]sizeof[/COLOR][/SIZE][SIZE=2](si) );
si.cb = [/SIZE][SIZE=2][COLOR=#0000ff]sizeof[/COLOR][/SIZE][SIZE=2](si);
success = CreateProcess( NULL, _T("[/SIZE][SIZE=2][COLOR=#a31515]calc.exe" [COLOR=black])[/COLOR][/COLOR][/SIZE][SIZE=2], NULL, NULL, FALSE,
0, NULL, NULL, &si, &pi);
//- - - - - - - - - - - - - --
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
[/SIZE]
Компилятор VC++ Express
Спасибо!
PROCESS_INFORMATION pi;
BOOL success=FALSE;
ZeroMemory( &si, sizeof(si) );
ZeroMemory( &pi, sizeof(pi) );
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
success = CreateProcessA( NULL, "calc.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
//- - - - - - - - - - - - - --
TerminateProcess(pi.hProcess, 0);
А строкой _T("calc.exe") ты что хотел сделать?
…
P.S.Попробуй,что будет без отладчика,вживую
PROCESS_INFORMATION pi;
BOOL success=FALSE;
ZeroMemory( &si, sizeof(si) );
ZeroMemory( &pi, sizeof(pi) );
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
success = CreateProcessA( NULL, "calc.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
//- - - - - - - - - - - - - --
TerminateProcess(pi.hProcess, 0);
Действительно работает... Спасибо!!!
А строкой _T("calc.exe") ты что хотел сделать?
Да как-то так вышло, что в VS 2008 и Express не очень получается передать в качестве параметра LPCTSTR "Text". Приходится чудить всякое. Порылся на форуме, в гугле. вроде так делается. По крайней мере, так компилируется :). Если вдруг я не прав, поравьте меня.
P.S.: Без дебага просто закрывается.
Вездесущего оксотника трудно опередить...
Это как? :)
И при чем тут VS 2008 или Express ? :)
И при чем тут VS 2008 или Express ? :)
Я создавал тему в разделе Microsoft Visual C++, связанную с этим вопросом. Вы отправили меня в поиск. Я не уверен, что _T("***") - правильный способ преобразования строки. Хотя он работает. В 6-й студии эти преобразования не нужны были.
Ну и правильно сделали, тема поднимается раз в месяц, и каждый считает, что это просто уникальная проблема.
А это, вообще, не преобразование. Смотри определение этого макроса.
Хотя он работает. В 6-й студии эти преобразования не нужны были.
В VC6 по-умолчанию создается проект с multibite string, а в Vc2008 unicode. Никто не мешает тебе изменить настройк проекта.
Советую разобраться, что есть multibite и unicode, что, вообще, такое префикс t, и как определены макросы _T и TEXT.
Это элементарные вещи.