Czy jesli program bedzie uruchamiany z poziomu programu ktory potrzebuje uchwyt, to nie mozna go pobarac jakims sposobem.
Mozna, wlaczasz go przy pomocy CreateProcess(info w helpie) to funkcja zwroci uchwyt.
Tak jest dobrze ?
const
exe = 'C:\cos\prog.exe';
var
si: TStartupInfo;
pi: TProcessInformation;
dir: string;
uchwyt: Thandle;
begin
dir := ExtractFileDir(exe);
FillCHar(si, SizeOf(si), 0); // co to wlasciwie robi?
FillCHar(pi, SizeOf(pi), 0);
si.cb := SizeOf(si);
if CreateProcess(
nil, //lpApplicationName
PChar(exe), //lpCommandLine
nil, //lpProcessAttributes
nil, //lpThreadAttributes
true, //bInheritHandles
0, //dwCreationFlags
nil, //lpEnvironment
PChar(dir), //lpCurrentDirectory
si, //lpStartupInfo
pi //lpProcessInformation
) then
uchwyt:=pi.hProcess; // czy moze pi.hThread ?
end;
Szymek, a mozna podac tylko fragment captiona? Np. poczatkowe 15 znakow.