PDA

View Full Version : سوال: نشان ندادن نام برنامه در process



ardeshir1365
یک شنبه 08 آبان 1390, 15:15 عصر
با سلام خدمت همه دوستان
من میخوام برنامه من در process نشان داده نشه واگر نشان داده میشه کسی نتونه برنامه رو ببنده
این برنامه یه برنامه اکانته که نباید بسته بشه
اگه چنین کدی وجود نداره پس حداقل کاری کنم در صورت بسته شدن برنامه ، سیستم خاموش یا ری استارت بشه

sobaisobai
یک شنبه 08 آبان 1390, 15:37 عصر
سلام دوست عزیز
به این تاپیک (http://barnamenevis.org/showthread.php?102387-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%B1-Task-Manager&highlight=task+manager) یه سر بزن
اگه پیدا نکردی میتونی تو رویداد FormClosing فرمت دستور زیر رو بنویسی
System.Diagnostics.Process.Start("ShutDown", "/r");
تا در صورت بسته شدن برنامه سیستم ریست بشه
فقط باید اول NameSpace زیر رو اضافه کنی
using System.Runtime.InteropServices;
بعدش هم کد زیر رو بنویسی
public static extern int ExitWindowsEx(int uFlags, int dwReason);
واسه اطلاعات بیشتر به اینجا (http://barnamenevis.org/showthread.php?95001-1001-%D9%86%DA%A9%D8%AA%D9%87-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE&p=467612#post467612)برو
موفق باشی

ali reza mansoori 2
یک شنبه 08 آبان 1390, 16:20 عصر
من با VB6 این کار رو انجام داده بودم یعنی کاربر اصلا نمیتونست بفهمه که برنامه بازه یا نه
پس صد در صد با سی شارپ هم میشه این کار رو انجام داد
اگر وقت کردم سعی میکنم تبدیلش کنم به سی شارپ

ardeshir1365
دوشنبه 09 آبان 1390, 08:51 صبح
من با VB6 این کار رو انجام داده بودم یعنی کاربر اصلا نمیتونست بفهمه که برنامه بازه یا نه
پس صد در صد با سی شارپ هم میشه این کار رو انجام داد
اگر وقت کردم سعی میکنم تبدیلش کنم به سی شارپ
دستت درد نکنه همین خوبه اگه وقت نداری فایل رو بزار خودم تبدیلش میکنم

ardeshir1365
دوشنبه 09 آبان 1390, 08:56 صبح
سلام دوست عزیز
به این تاپیک (http://barnamenevis.org/showthread.php?102387-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%B1-Task-Manager&highlight=task+manager) یه سر بزن
اگه پیدا نکردی میتونی تو رویداد FormClosing فرمت دستور زیر رو بنویسی
System.Diagnostics.Process.Start("ShutDown", "/r");
تا در صورت بسته شدن برنامه سیستم ریست بشه
فقط باید اول NameSpace زیر رو اضافه کنی
using System.Runtime.InteropServices;
بعدش هم کد زیر رو بنویسی
public static extern int ExitWindowsEx(int uFlags, int dwReason);
واسه اطلاعات بیشتر به اینجا (http://barnamenevis.org/showthread.php?95001-1001-%D9%86%DA%A9%D8%AA%D9%87-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE&p=467612#post467612)برو
موفق باشی
این کد خیلی خوبه ولی من خودم کد نوشتم که کسی نمیتونه فرم منو ببنده مگر بره process ان رو end process کنه که در این صورت کد با لا کارایی نداره و فرم من بسته میشه وکاربر هر کاری که دوست داشته باشه میتونه انجام بده

ardeshir1365
دوشنبه 09 آبان 1390, 08:59 صبح
اگه بشه process این برنامه به هیچ وجه end process نشه هم خیلی خوبه

Himalaya
دوشنبه 09 آبان 1390, 11:14 صبح
سلام

من خودم کد نوشتم که کسی نمیتونه فرم منو ببنده مگر بره process ان رو end process کنه
با اجرای برنامه، TaskManager رو غیر فعال کن (یه کلید رو باید تو رجیستری دستکاری کنی)
اگه فرض کنیم برنامت قراره با دادن Password بسته بشه، در این صورت کلیدی که تو رجیستری دستکاری کردی رو به حالت اول برگردون که TaskManager مجددا فعال بشه

saeid69
دوشنبه 09 آبان 1390, 12:25 عصر
اگه اسم فایل خروجی برنامت نام یکی از فایل های سیستمی ویندوز باشه مانند smss.exe دیگه ویندوز امکان بستنش رو به کاربرت نمیده

ardeshir1365
دوشنبه 09 آبان 1390, 16:29 عصر
سلام

با اجرای برنامه، TaskManager رو غیر فعال کن (یه کلید رو باید تو رجیستری دستکاری کنی)
اگه فرض کنیم برنامت قراره با دادن Password بسته بشه، در این صورت کلیدی که تو رجیستری دستکاری کردی رو به حالت اول برگردون که TaskManager مجددا فعال بشه
ممنون از راهنماییت
مسئله همین جاست که چطوری task manager رو غیر فعال کنم؟ کدش رو داری

ardeshir1365
دوشنبه 09 آبان 1390, 16:30 عصر
اگه اسم فایل خروجی برنامت نام یکی از فایل های سیستمی ویندوز باشه مانند smss.exe دیگه ویندوز امکان بستنش رو به کاربرت نمیده
اگه اسم فایل نام یکی از فایلهای سیستمی باشه یا برنامه اجرا نمیشه و اگر هم اجرا بشه خیلی راحت end process میشه

Himalaya
دوشنبه 09 آبان 1390, 18:20 عصر
سلام

مسئله همین جاست که چطوری task manager رو غیر فعال کنم؟ کدش رو داریتو گوگل سرچ میکردی تا الان برنامت که کامل شده بود هیچ، 4 تا برنامه دیگه هم نوشته بودی :چشمک:


const string SubKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Poli cies\\System";
private static void TaskMgr(int keyValueInt)
{
RegistryKey regkey = null;
try
{
regkey = Registry.CurrentUser.CreateSubKey(SubKey);
if (regkey != null) regkey.SetValue("DisableTaskMgr", keyValueInt);
}
finally
{
if (regkey != null) regkey.Close();
}
}


private void Form1_Load(object sender, EventArgs e)
{
// Disable
TaskMgr(1);

// Enable
//TaskMgr(0);
}

sobaisobai
دوشنبه 09 آبان 1390, 18:26 عصر
سلام
من تست کردم ولی کار نکرد
مشکل کجاست؟

Himalaya
دوشنبه 09 آبان 1390, 18:38 عصر
سلام
قبلا گفتم. کدا رو بدون تست اینجا نمیزارم
اگه Copy/Paste کردی ببین تو SubKey کلمه Policies بینش Space نیافتاده باشه
بعدش ببین کلید گفته شده تو مسیر SubKey تو رجیستری ایجاد شده یا نه (با مقدار 1 برای غیرفعال کردن)
+

using Microsoft.Win32;

ardeshir1365
سه شنبه 10 آبان 1390, 12:24 عصر
دستت درد نکنه تو ریجستری ایجادش کرده ولی نمیتونه تسک منجر رو غیر فعال کنه باز هم ممنون از اینکه ارزش قائل شدین و جواب دادی:بوس:

Himalaya
سه شنبه 10 آبان 1390, 13:07 عصر
سلام
من تو win 7 استفاده کردم و غیر فعال شد. (قبلا هم تو xp استفاده کرده بودم) البته تو win 7 مثل xp نیست که موقع غیر فعال شدن task manager، با باز شدن اون، یه ارور ایجاد بشه.
تو win 7 گزینه start task manager از صفحه مربوطه حذف میشه

سوداگر
چهارشنبه 11 آبان 1390, 04:46 صبح
چرا از طريق دستكاري كليدهاي رجيستري Task manager رو غير فعال نمي كني؟:متفکر: