نمایش نتایج 1 تا 15 از 15

نام تاپیک: کار با ریجستری

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    Smile کار با ریجستری

    باسلام و خسته نباشید.

    من یه برنامه واسه کار با ریجستری دارم مینویسم که کار با ریجستری رو تو یه کلاس نوشتم.

    به یه مشکل برخوردم.
    زمانی که کلیدی در ریجستری موجود نیست و با کد مورد نظر یک کلید میخوام ایجاد کنم میگه شما مجاز به این کار نیستید.

    Requested registry access is not allowed.

    کد های نوشته شده در کلاس مربوطه:


    public bool CurrentUser(string OpenSubKey, string Name, object value, RegistryValueKind ValueKind)
    {
    RegistryKey reg;
    try
    {
    reg =
    Registry.CurrentUser.OpenSubKey(OpenSubKey, true);
    reg.SetValue(Name, value, ValueKind);
    reg.Close();
    return true;
    }
    catch(ExternalException error)
    {
    MessageBox.Show(error.Message, "Error",
    MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    return false;
    }
    //================================================== =================================================
    public bool CurrentUser(string OpenSubKey,string CreateKey, string Name, object value, RegistryValueKind ValueKind)
    {
    RegistryKey reg;
    try
    {
    reg =
    Registry.CurrentUser.OpenSubKey(OpenSubKey, true);
    reg.CreateSubKey(CreateKey, RegistryKeyPermissionCheck.ReadWriteSubTree);
    reg.SetValue(Name, value, ValueKind);
    reg.Close();
    return true;
    }
    catch (ExternalException error)
    {
    MessageBox.Show(error.Message, "Error",
    MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    return false;
    }
    روش استفاده:


    ClassRegistry claReg = new ClassRegistry();
    if (!claReg.CurrentUser("Software\\Microsoft\\Windows \\CurrentVersion\\Policies\\ActiveDesktop",
    "NoDispCpl", 0, Microsoft.Win32.RegistryValueKind.DWord))
    claReg.CurrentUser("Software\\Microsoft\\Windows\\ CurrentVersion\\Policies", "ActiveDesktop",
    "NoChangingWallpaper", 0, Microsoft.Win32.RegistryValueKind.DWord);

    از طرفی چطور باید مقدار باینری رو تو مقادیر باینری ست کنم.
    توجه کنید:


    ClassRegistry claReg = new ClassRegistry();
    if (!claReg.CurrentUser("Software\\Microsoft\\Windows \\CurrentVersion\\Policies\\Explorer",
    "NoFolderOptions",1, Microsoft.Win32.RegistryValueKind.Binary))
    claReg.CurrentUser("Software\\Microsoft\\Windows\\ CurrentVersion\\Policies","Explorer",
    "NoFolderOptions", 00000001, Microsoft.Win32.RegistryValueKind.Binary);

    مقدار مشخص شده برنگ قرمز رو چطور باید ست کنم؟

    با تشکر
    علی پاییزی

  2. #2

    نقل قول: کار با ریجستری

    کسی از دوستان نظری نداره؟

  3. #3

    نقل قول: کار با ریجستری

    از دوستان گرامی استدعا دارم در صورت داشتن اطلاعات کافی راهنمایی کنید.

    متشکرم
    علی پاییزی

  4. #4

    نقل قول: کار با ریجستری

    اين كد روي سيستم من بدون مشكل اجرا ميشه ، احتمال داره يوزري كه با اون وارد سيستم ميشيد دسترسي Admin نداشته باشه.
    براي باينري فرستادن هم ميتونيد بصورت زير عمل كنيد

    CurrentUser("Software\\Microsoft\\Windows\\Current Version\\Policies", "ActiveDesktop",
    "NoChangingWallpaper", new byte[] { 00, 00, 00, 01 }, Microsoft.Win32.RegistryValueKind.Binary);

  5. #5

    Smile نقل قول: کار با ریجستری

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
    اين كد روي سيستم من بدون مشكل اجرا ميشه ، احتمال داره يوزري كه با اون وارد سيستم ميشيد دسترسي Admin نداشته باشه.
    براي باينري فرستادن هم ميتونيد بصورت زير عمل كنيد

    CurrentUser("Software\\Microsoft\\Windows\\Current Version\\Policies", "ActiveDesktop",
    "NoChangingWallpaper", new byte[] { 00, 00, 00, 01 }, Microsoft.Win32.RegistryValueKind.Binary);
    سلام
    دوست اگه امکانش هست یه تست کن ببین تو سیستم شما کدوم قسمت از شرط اجرا میشه؟ یعنی دستورات شرط اجرا میشه یا دستورات داخل if

    چون اگه دستور شرط اجرا بشه یعنی کلید مورد نظر توسیستم شما وجود داره و فقط مقداری رو تو اون کلید ایجاد میکنه و مقداردهی میکنه.

    در غیر اینصورت یا سیستم شما مشکل داره یا سیستم من!

    چون تو سیستم هایی که من کار میکنم همه دسترسی admin دارن و حتی نه تو xp اجرا میشه و نه تو 7

    منتظر پاسخ شما هستم.

    بی نهایت سپاسگزارم
    علی پاییزی

  6. #6

    نقل قول: کار با ریجستری

    دوست اگه امکانش هست یه تست کن ببین تو سیستم شما کدوم قسمت از شرط اجرا میشه؟ یعنی دستورات شرط اجرا میشه یا دستورات داخل if

    چون اگه دستور شرط اجرا بشه یعنی کلید مورد نظر توسیستم شما وجود داره و فقط مقداری رو تو اون کلید ایجاد میکنه و مقداردهی میکنه.
    من توي هر 2 حالت تست كردم و مشكلي نداشت. مسلما ايراد از كد نيست.
    در غیر اینصورت یا سیستم شما مشکل داره یا سیستم من!
    سيستم خودتون مشكل داره!!
    چون تو سیستم هایی که من کار میکنم همه دسترسی admin دارن و حتی نه تو xp اجرا میشه و نه تو 7
    من توي 7 تست كردم XP رو نميدونم. ولي وقتي توي 7 اجرا بشه نبايد با XP مشكلي داشته باشه.
    شما روي سيستم ديگه اي امتحان كنيد ببينيد چطور ميشه و يا اينكه با يوزر Administrator وارد سيستم بشيد....
    چون غير از اين چيز ديگه اي نميتونه باشه (در واقع به ذهن من نميرسه)

  7. #7

    Smile نقل قول: کار با ریجستری

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
    من توي هر 2 حالت تست كردم و مشكلي نداشت. مسلما ايراد از كد نيست.

    سيستم خودتون مشكل داره!!

    من توي 7 تست كردم XP رو نميدونم. ولي وقتي توي 7 اجرا بشه نبايد با XP مشكلي داشته باشه.
    شما روي سيستم ديگه اي امتحان كنيد ببينيد چطور ميشه و يا اينكه با يوزر Administrator وارد سيستم بشيد....
    چون غير از اين چيز ديگه اي نميتونه باشه (در واقع به ذهن من نميرسه)
    آقا دستت درد نکنه. واقعا شرمنده کردی.

    یه سوال دیگه:

    فرض کنیم با PC که کار میکنیم User هست. چه کدی بنویسیم که بشه تغییرات تو ریجستری داد و یا همانند یک admin بتونیم عمل کنیم.

    اصلا امکانش هست؟

    البته بنظرم که امکانش هست. میشه سیستم عامل رو دور زد.

    یه تعداد کدهایی نوشتم که درست عمل می کنند و یه تعداد درست جواب نمیدند و یا عدم دسترسی میده. متاسفانه اطلاعات کاملی در این رابطه ندارم.

    اگه در این مورد هم اطلاعاتی دارید مارو هم بی نصیب نذارید.

    متشکر
    علی پاییزی

  8. #8
    کاربر دائمی آواتار MSN_Issue
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهدالرضا
    پست
    586

    نقل قول: کار با ریجستری

    سلام
    یه مطلبی رو میخواستم خدمتتون عرض کنم !
    کدنویسی برای رجیستری وقتی مخاطبتون از وین7 استفاده میکنه کار بیهوده ای هست !!! چون امنیت وین7 اجازه ی دسترسی به رجیستری(از طریق کد) رو نمیده و فکر هم نمیکنم امکانش باشه که شما خودتون راه بیافتید و سیستم تک تک مخاطباتون رو امنیتش رو دستکاری کنید !!!!
    پیشنهاد میکنم بجای استفاده از رجیستری به فکر راههای دیگه ای باشید .

  9. #9

    Smile نقل قول: کار با ریجستری

    نقل قول نوشته شده توسط MSN_Issue مشاهده تاپیک
    سلام
    یه مطلبی رو میخواستم خدمتتون عرض کنم !
    کدنویسی برای رجیستری وقتی مخاطبتون از وین7 استفاده میکنه کار بیهوده ای هست !!! چون امنیت وین7 اجازه ی دسترسی به رجیستری(از طریق کد) رو نمیده و فکر هم نمیکنم امکانش باشه که شما خودتون راه بیافتید و سیستم تک تک مخاطباتون رو امنیتش رو دستکاری کنید !!!!
    پیشنهاد میکنم بجای استفاده از رجیستری به فکر راههای دیگه ای باشید .

    کی گفته اجازه دسترسی نمیده!!!!!!!!!!!؟؟؟
    هر کدی رو که نوشتم دقیقا اجرا کرده و جواب گرفتم.

    اتفاقا در بعضی مواقع بهتر از XP هم جواب میده.

    نه دوست عزیز من نمیخوام تک تک سیستم هارو دستکاری کنم بلکه با یک کلیک همه چی عوض میشه. و البته با Image ای که از سیستم میگیرن کار بقیه هم تموم میشه.

    لطفا در مورد راههای دیگه کمی بیشتر راهنمایی کنید.

  10. #10
    کاربر دائمی آواتار MSN_Issue
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهدالرضا
    پست
    586

    نقل قول: کار با ریجستری

    نقل قول نوشته شده توسط ali_autumnal مشاهده تاپیک
    کی گفته اجازه دسترسی نمیده!!!!!!!!!!!؟؟؟
    هر کدی رو که نوشتم دقیقا اجرا کرده و جواب گرفتم.

    اتفاقا در بعضی مواقع بهتر از XP هم جواب میده.

    نه دوست عزیز من نمیخوام تک تک سیستم هارو دستکاری کنم بلکه با یک کلیک همه چی عوض میشه. و البته با Image ای که از سیستم میگیرن کار بقیه هم تموم میشه.

    لطفا در مورد راههای دیگه کمی بیشتر راهنمایی کنید.
    میشه بگید چطور از شر امنیت وین7 خلاص شدید ؟!!!
    چون من هر کاری کردم نتونستم از توی برنامه ، رجیستری رو دستکاری کنم (وقتی امنیت وین7 خاموش نباشه اکسپشن میده )
    شاید شما امنیت ویندوزتون رو آف کردین ؟!!

  11. #11

    Smile نقل قول: کار با ریجستری

    نقل قول نوشته شده توسط MSN_Issue مشاهده تاپیک
    میشه بگید چطور از شر امنیت وین7 خلاص شدید ؟!!!
    چون من هر کاری کردم نتونستم از توی برنامه ، رجیستری رو دستکاری کنم (وقتی امنیت وین7 خاموش نباشه اکسپشن میده )
    شاید شما امنیت ویندوزتون رو آف کردین ؟!!
    نه دوست عزیز من هیچ کاری با امنیت 7 ندارم. من کارمو انجام میدم اون هم کار خودش و البته کارهای من رو انجام میده.

    از طرفی اگه دیدی این غول ماکروسافت اذیت میکنه میتونی با کد زیر حالشو بگیری:


    using System.Diagnostics;
    using System.IO;

    private void Kill()
    {
    string MyName = Path.GetFileNameWithoutExtension(Application.Execu tablePath);
    foreach (Process p in Process.GetProcesses())
    {
    try
    {

    if (p.ProcessName != MyName)
    {
    p.Kill();
    }
    }
    catch
    {
    }
    }
    }
    از طرفی با این تابع هم میتونی کلیه ویروس ها رو هم از حافظه خارج کنی!!!!!!!

    درضمن کد فوق درصورتی که تو سیستم عامل XP اجرا بشه باعث Reset شدن سیتم عامل مبشه. اما تو 7 این مشکل وجود نداره براحتی کلیه Process از حافظه خارج میشه و براحتی و بدون مزاحمت ویروس ها و... کارتو انجام میدی. موفق باشید
    علی پاییزی

  12. #12
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    Exclamation نقل قول: کار با ریجستری

    نقل قول نوشته شده توسط ali_autumnal مشاهده تاپیک
    نه دوست عزیز من هیچ کاری با امنیت 7 ندارم. من کارمو انجام میدم اون هم کار خودش و البته کارهای من رو انجام میده.

    از طرفی اگه دیدی این غول ماکروسافت اذیت میکنه میتونی با کد زیر حالشو بگیری:


    using System.Diagnostics;
    using System.IO;

    private void Kill()
    {
    string MyName = Path.GetFileNameWithoutExtension(Application.Execu tablePath);
    foreach (Process p in Process.GetProcesses())
    {
    try
    {

    if (p.ProcessName != MyName)
    {
    p.Kill();
    }
    }
    catch
    {
    }
    }
    }
    از طرفی با این تابع هم میتونی کلیه ویروس ها رو هم از حافظه خارج کنی!!!!!!!

    درضمن کد فوق درصورتی که تو سیستم عامل XP اجرا بشه باعث Reset شدن سیتم عامل مبشه. اما تو 7 این مشکل وجود نداره براحتی کلیه Process از حافظه خارج میشه و براحتی و بدون مزاحمت ویروس ها و... کارتو انجام میدی. موفق باشید
    علی پاییزی
    میشه در مورد این کدتون یه مقدار توضیح بدید؟ چرا این کار رو می کنید؟

  13. #13

    نقل قول: کار با ریجستری


    یه سوال دیگه:

    فرض کنیم با PC که کار میکنیم User هست. چه کدی بنویسیم که بشه تغییرات تو ریجستری داد و یا همانند یک admin بتونیم عمل کنیم.
    اصلا امکانش هست؟
    البته بنظرم که امکانش هست. میشه سیستم عامل رو دور زد.
    از شدن كه ميشه ولي نه با دور زدن سيستم عامل. در صورتي يك يوزر محدود ميتونه دسترسي Admin داشته باشه كه يوزر و پسورد Admin رو داشته باشه و غير از اين هيچ راه حل ديگه اي نداره.
    در صورت داشتن يوزر و پسورد ميتونيد يك Peocess بنويسيد كه يوزر و پسورد Admin داشته باشه ، اين Process كارهاي مورد نظر رو انجام ميده و توي برنامه اصلي اين Process رو اجرا كنيد.
    میشه بگید چطور از شر امنیت وین7 خلاص شدید ؟!!!
    تا جايي كه ميدونم 7 با XP فرقي نميكنه ، تنها تفاوت در نسخه 32 بيتي با 64 بيتي است كه براي 64بيتي ها به اين روش نميشه عمل كرد. براي توضيح در مورد 64 بيتي به اينجا مراجعه كنيد

  14. #14

    نقل قول: کار با ریجستری

    بسمه تعالی
    با سلام
    من قبلا
    UAC ویندوز 7 به شما اجازه نخواهد داد بجز اینکه ازش مجوز بگیرید و برای مجوز گرفتن راست کلیک کنید روی فایل اجراییتون و run as administrator بزنید و بعد مجوز uac را تایید کنید در این صورت مشکلی نخواهید داشت.البته راه هایی هم برای کد نوشتن این کار وجود داره که من تست کردم جواب نگرفتم.
    من تصمیم گرفتم بجای اینکار از فایل استفاده کنم و اون هم در شاخه Application.CommonAppDataPath استفاده کردم که بدون هیچ مشکلی تونستم کارهام رو بکنم البته در ویندوز ویستا اگر کاربر شما user باشد برای این هم از شما مجوز uac می خواهد واقعا مایکروسافت شورش رو در آورده است
    kill کرد پروسس ها اگر توسط ویندوز شما رو دچار خطا نکنه مطمئنا الان یا در آینده نزدیک آنتی ویروس ها برنامه شما رو به عنوان ویروس خواهن شناخت و این راه هم راه قابل اطمینانی نیست من ترجیح می دهم از مجوز گرفتن uac توسط خود کاربر استفاده کنم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •