PDA

View Full Version : اشکال در مخفی کردن برنامه در Task List win XP



houshmand
دوشنبه 30 تیر 1382, 00:32 صبح
تابع RegisterServiceProcess در KRNEL32.DLL ویندوز 98 وجود دارد ولی ظاهرا در ویندوز XPوجود ندارد

به برنامه زیر توجه کنید
:idea:


program Test;
const
RSPSIMPLESERVICE = 1;
RSPUNREGISTERSERVICE = 0;


function GetCurrentProcessId:LongWord;
stdcall; external 'KERNEL32.DLL';

function RegisterServiceProcess(dwProcessID, dwType: LongWord) : LongWord;
stdcall; external 'KERNEL32.DLL';
begin
RegisterServiceProcess(GetCurrentProcessID,RSPSIMP LESERVICE);
end.


این برنامه در ویندوز 98 به خوبی اجرا می شود ولی در XP پیغام
The procedure entry point RegisterService coud not be located in the dynamic
link library KERNEL32.DLL
می دهد
می خواهم برنامه ای بنویسم که در تمام ویندوزها نشان داده نشود(Ctr+Alt+Del)
:?:
(البته می توان وجود تابع RegisterServiceProcessرا در KERNLL32 تست کرد اما من تابعی
می خواهم که همیشه کار کند)


با تشکر

مهدی کرامتی
دوشنبه 30 تیر 1382, 06:00 صبح
اولا که عنوان تاپیک رو طوری انتخاب کنید که گویای محتوای آن باشد. مثلا برای این تاپیک تیتر "اشکال در مخفی کردن برنامه در Task List" میتواند عنوان خوبی باشد.

ثانیا، این یکی رو من تست کردم و همه جا کار میکند:

ShowWindowAsync(Application.Handle, SW_HIDE);
و برای نمایش پنجره‌ای که با کد فوق از Task List مخفی شده است:

ShowWindowAsync(Application.Handle, SW_SHOW);

Gladiator
دوشنبه 10 آذر 1382, 23:36 عصر
با سلام

این کد رو توی کدوم رویداد باید قرار داد ؟

مهدی کرامتی
سه شنبه 11 آذر 1382, 09:30 صبح
میتواند هر جایی باشد. مثلا در OnCreate یا OnShow

SReza1
پنج شنبه 13 آذر 1382, 17:18 عصر
أقای کرامتی با دستور بالا میشه برنامه رو از لیست APPLICATION ها مخفی کرد
ولی از لیست PROCESS ها نمیشه‍
چطور میشه کاری کردئ که از لیست PROCESS ها هم خارج شه؟

houshmand
پنج شنبه 13 آذر 1382, 21:57 عصر
أقای کرامتی با دستور بالا میشه برنامه رو از لیست APPLICATION ها مخفی کرد
ولی از لیست PROCESS ها نمیشه‍
چطور میشه کاری کردئ که از لیست PROCESS ها هم خارج شه؟
اینجا را ببین
http://www.barnamenevis.org/forum/viewtopic.php?t=4843