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

نام تاپیک: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

  1. #1
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    سلام.

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

    میخواستم ببینم که چطوری میتونم تشخیص بدم که برنامه از Startup اجرا شده و یا اینکه کاربر روی exe دابل کلیک کرده و برنامه رو اجرا کرده؟؟اصلا امکانش هست یه همچین کاری؟

    یه سوال دیگه هم دارم :
    من قراره برای این برنامه ستاپ بسازم و بدم به مشتری چطوری میتونم کاری کنم که برنامه به Stratup سیستم اضافه بشه؟
    این کار رو باید توی ستاپ تنظیم کنم یا اینکه توی سی شارپ میشه؟؟

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

  2. #2
    کاربر دائمی آواتار water_lily_2012
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    659

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    چی رو چک می کنه. آیا با برنامه اصلی در ارتباط هست. می توانید یک برنامه جدا طراحی کنید.
    و برای اجرا هم چند راه دارید.
    یکی StartUp
    یکی استفاده از رجیستری
    یکی اینکه یک سرویس طراحی کنید که با شروع ویندوز، مانند سرویس های خود ویندوز اجرا بشه.

  3. #3

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    سلام
    برای گذاشتن برنامه توی startup میتونی از رجیستری استفاده بکنی. من با VS تا به حال setup درست نکردم ولی با اونایی که کار کردم، با رجیستری باید این کار رو انجام میدادم.
    راه حلی که برای فهمیدن اینکه برنامت از طریق startup اجرا شده یا نه، به ذهنم میرسه، استفاده از مدت زمانی که سیستم بالاست

  4. #4
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    چی رو چک می کنه. آیا با برنامه اصلی در ارتباط هست
    آره با برنامه اصلی در ارتباط هست و بعضی وقتها که چیزی برای نمایش نیست فرم باز نمیشه!

    من با InstallSheild ستاپ ها رو میسازم باید چه رجیستری ثبت کنم که برنامه به Startup سیستم اضافه بشه؟؟

    راه حلی که برای فهمیدن اینکه برنامت از طریق startup اجرا شده یا نه، به ذهنم میرسه، استفاده از مدت زمانی که سیستم بالاست
    کسی از دوستان میتونه در این مورد بیشتر توضیح بده.
    اگه هم کسی نمونه کدی داره خیلی خیلی ممنون میشم که بهم بدین چون خیلی عجله دارم و باید سریع ستاپ رو بسازم.
    دوستان خواهشا سریعتر کمکم کنید.
    با تشکر

  5. #5
    کاربر دائمی آواتار water_lily_2012
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    659

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    در خود برنامه می توانی با اولین اجرا برنامه خودت را در رجیستری ثبت کنی. فقط باید کار با رجیستری را بلد باشی که اون هم داخل اینترنت زیاد مطلب داره.

  6. #6
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    ممنونم دوست عزیز.
    کسی کد آماده برای این کار نداره که تست شده باشه و درست جواب بده (روی همه سیستم ها).
    اصلا وقت ندارم با تشکر...

  7. #7
    کاربر دائمی آواتار water_lily_2012
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    659

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    این کد می تونه کمکت کنه.
            private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long;
    private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long;
    private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long;
    private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long;
    private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long;
    private Const HKEY_LOCAL_MACHINE = &H80000002;
    private Const REG_SZ = 1;


    private void SaveString(string strPath,string strValue,string strdata)
    {
    long keyhand;
    long r;
    r = RegCreateKey(HKEY_LOCAL_MACHINE, strPath, keyhand);
    r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata));
    r = RegCloseKey(keyhand);
    }

  8. #8

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    من از این کد برای اضافه کردن برنامم به startup استفاده میکنم. برای استفاده ازش میتونی تو form_load برنامت بذاریش. اول چک میکنه ببینه قبلاً ثبت شده یا نه، اگر ثبت شده بود که هیچ ولی اگر نه، ثبتش میکنه.
    object key = Registry.GetValue("HKEY_LOCAL_MACHINE\\Software\\M  icrosoft\\Windows\\CurrentVersion\\Run\\", Application.ProductName, null);
    if (key == null)
    {
    RegistryKey mm = Registry.LocalMachine.CreateSubKey("Software\\Micr osoft\\Windows\\CurrentVersion\\Run\\");
    mm.SetValue(Application.ProductName, Application.ExecutablePath);
    mm.Close();
    }


    برای بدست آوردن up time سیستم میتونی از این کد استفاده بکنی
    int upTime = System.Environment.TickCount;     //up time in milliseconds

    چیزی که باید بهش توجه کنی اینه که این دستور وقتی سیستم رو restart میکنی کانترش رو ریست میکنه

  9. #9

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    یه سوال داشتم
    چه فایل کتابخانه ای رو باید اضافه کنم تا دیباگر ویژوال استادیو کلمه ی Registry رو بشناسه؟
    آخرین ویرایش به وسیله majafer2 : چهارشنبه 18 دی 1392 در 20:22 عصر

  10. #10
    کاربر دائمی آواتار omid nasri
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران - کارگر شمالی
    پست
    385

    نقل قول: تشخیص نحوه ی اجرا شدن برنامه (توسط کاربر یا از طریق Startup)

    using Microsoft.win32;

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

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