Hi All,
How can i set an exe as system application i have no Control env.
and no RThread::SetSystem(), and RProcess::SetSystem()
THX.
Hi All,
How can i set an exe as system application i have no Control env.
and no RThread::SetSystem(), and RProcess::SetSystem()
THX.
Where is the point about not calling these methods?Originally Posted by kingkiko
Hi wizard hu,
thanks for your reply, when i' trying to call RProcess().SetSystem(ETrue);
it gives me a compile error not defined Setsystem i open the header file and i didn't find it.
thx.
Yes, you are right, RThread/RProcess have no SetSystem method. Although they have a SetProtected method in 2nd edition. In 3rd edition process names starting with "!" are considered as protected.
hi wizard hu,
http://developer.symbian.com/main/do...d/userland.pdf
you can check this document you will find the RProcess::SetSystem and RThread::SetSystem()
in any way how can i make my exe as system application
thx.
Although you have not actually mentioned, I suppose you are using 3rd edition (in 2nd edition there are SetSystem methods as I have already mentioned). That document is dated to 2003, thus it is obviously about pre-3rd edition stuff.Originally Posted by kingkiko
And - as I have already mentioned too - you can try renaming your process to !something, and check if it gets protected or not.
Hi,
in 3rd Ed you can use CEikonEnv::SetSystem() method to make your app system, User::SetProcessCritical() to make your app's process critical and User::SetCritical() to make the current thread critical. Pay attention to required capabilities!
Regards,
ivey
hi
how can i use CEikonEnv::SetSystem() ? example would be gr8
use "User::SetProcessCritical(ESystemCritical)" in a exe. Then in other exe I kill
the running first exe. But the system is not reboot, why?
TFileName sysProcName = _L("TestProcessCritical");
TFindProcess fp;
TFullName procName;
RProcess process;
while (fp.Next(procName) == KErrNone)
{
if(procName.Left(19) == sysProcName)
{
User::LeaveIfError(process.Open(procName) );
process.Kill(0);
process.Close();
break;
}
}
Did you grant the ProtServ capability. Also are u sure that the application is killed and be sure that your application process name starts with !.