Цитата:
Сообщение от M.A.D.M.A.N.
Все темы в разделе " [ "Начинающим" ] "))
Ты так и не осилил ShellExecute/CreateProcess? Вон тот лайнчер через Cerateprocess как раз запускает.
Вот стек при вызове ф-ии:
Код:
00287C90 00000000 |ModuleFileName = NULL
00287C94 00287CD0 |CommandLine = ""C:\Program Files\Java\jre7\bin\javaw.exe" -Xms512m -Xmx1024m -jar "C:\Users\***\Desktop\Minecraft.exe""
00287C98 00000000 |pProcessSecurity = NULL
00287C9C 00000000 |pThreadSecurity = NULL
00287CA0 00000001 |InheritHandles = TRUE
00287CA4 00000020 |CreationFlags = NORMAL_PRIORITY_CLASS
00287CA8 00000000 |pEnvironment = NULL
00287CAC 00000000 |CurrentDir = NULL
00287CB0 0028FCD0 |pStartupInfo = 0028FCD0
00287CB4 00410C80 \pProcessInfo = Minecraf.00410C80
Или пипец все плохо и надо объяснять на пальцах?
|
Да, если можно. Я так понял надо эти данные запихнуть в функцию:
Цитата:
Сообщение от M.A.D.M.A.N.
Код:
function RunMyAppHidden(my_app : string; my_wait : bool) : bool; // по идее можно в процедуру переписать
var
si : TStartupInfo;
pi : TProcessInformation;
begin
Result := false;
try
ZeroMemory(@si,SizeOf(si));
si.cb := SizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL; // <--- обрати внимание на этот флаг
if CreateProcess(nil,PChar(my_app),nil,nil,False,0,nil,nil,si,pi)=true then Result := true;
try CloseHandle(pi.hThread); except ; end;
if my_wait = true then WaitForSingleObject(pi.hProcess, INFINITE);
try CloseHandle(pi.hProcess); except ; end;
except
Result := false;;
end;
end;
|
И пожалуйста, ругайтесь не очень сильно. Это же раздел для начинающих.